含撇号的SQL字段查询咨询:emergency表doctor's patient字段查询
查询含撇号的PostgreSQL字段的正确方法
嘿,我来帮你搞定这个问题!在PostgreSQL里处理带特殊字符(比如撇号)的标识符确实容易踩坑,不过你已经摸到门道了,只是细节上需要调整下。
首先得明确:你的字段名是doctor's patient,这里的核心是PostgreSQL对包含空格、特殊字符的标识符,必须用双引号来包裹。而你之前的误区在于,把字符串里的单引号转义规则用到了标识符上——其实在双引号包裹的标识符里,单引号不需要转义,它就是普通的字符而已。
你之前写的SELECT * FROM emergency."doctor''s patient",实际上是在查询一个名为doctor''s patient(带两个连续撇号)的字段,这显然不是你要找的那个。
正确的SQL语句应该是这样的:
SELECT * FROM emergency."doctor's patient";
给你补充两个小贴士:
- 尽量避免在表名、字段名里用空格、撇号这类特殊字符,不仅容易出错,后续维护代码也麻烦。
- 记住规则区分:字符串值里的单引号需要写成两个来转义(比如
INSERT INTO table (col) VALUES ('John''s book')),但标识符(字段/表名)里的特殊字符只需要用双引号包裹,内部的单引号直接写就行。
内容的提问来源于stack exchange,提问作者ste
相关产品推荐
相关产品推荐

