为了账号安全,请及时绑定邮箱和手机立即绑定

SQL标准转义列名?

/ 猿问

SQL标准转义列名?

浮云间 2019-11-14 14:34:27

是否有SQL标准来转义列名?如果不行,对mysql和sqlite有效吗?它也适用于sqlserver吗?



查看完整描述

3 回答

?
慕盖茨9453107

引号 "

在SQL:1999标准指定的是双引号(“)(引号)来界定标识符。


<delimited identifier> ::= <double quote> <delimited identifier body> <double quote>

Oracle,PostgreSQL,MySQL,MSSQL和SQlite都支持"作为标识符定界符。


它们并不全部"用作“默认值”。例如,您必须在ANSI模式下运行MySQL,而SQL Server仅在QUOTED_IDENTIFIERis 时支持它ON。


查看完整回答
反对 回复 2019-11-14
?
萧十郎

根据SQLite,


'foo' 是一个SQL字符串

"foo" 是一个SQL标识符(列/表/等)

[foo] 是MS SQL中的标识符

`foo` 是MySQL中的标识符

对于限定名称,语法为:"t"."foo"或[t].[foo],等等。


ANSI_QUOTES启用该选项时,MySQL支持标准的“ foo” 。


查看完整回答
反对 回复 2019-11-14
?
qq_笑_17

对于MySQL,请使用反斜线`。


例如:


SELECT `column`, `column2` FROM `table`


查看完整回答
反对 回复 2019-11-14

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信