我是PostgresSQL的新手.我试过了
select * from employee where employee_name="elina";
Run Code Online (Sandbox Code Playgroud)
但结果错误如下:
ERROR: column "elina" does not exist.
Run Code Online (Sandbox Code Playgroud)
然后我尝试用单引号替换双引号,如下所示:
select * from employee where employee_name='elina';
Run Code Online (Sandbox Code Playgroud)
结果很好.那么postgresql中的单引号和双引号有什么区别.如果我们不能在postgres查询中使用双引号,那么如果在postgreSQL中使用这个双引号有什么其他用途?
Mic*_*has 42
双引号用于表或字段的名称.有时您可以省略它们.单引号用于字符串常量.这是SQL标准.在详细的形式中,您的查询如下所示:
select * from "employee" where "employee_name"='elina';
Run Code Online (Sandbox Code Playgroud)
mel*_*ene 28
例如,SQL中的字符串常量是由单引号(
'
)限定的任意字符序列'This is a string'
.要在字符串常量中包含单引号字符,请写两个相邻的单引号,例如'Dianne''s horse'
.请注意,这与双引号字符("
)不同.
在同一页面的其他地方:
存在第二种标识符:分隔标识符或带引号的标识符.它是通过用双引号(
"
)括起任意字符序列而形成的.分隔标识符始终是标识符,而不是关键字.因此"select"
可以用来引用名为"select"的列或表,而不带引号的select
将被视为关键字,因此在预期使用表或列名称时会引发解析错误.
TL; DR:字符串常量的单引号,表/列名称的双引号.
归档时间: |
|
查看次数: |
12340 次 |
最近记录: |