SQL标准转义列名称?

有没有一个SQL标准来转义列名? 如果不是什么适用于MySQL和SQLite? 它也适用于sqlserver?

SQL-99标准指定使用双引号(“)来分隔标识符。

Oracle,PostgreSQL,MySQL,MSSQL和SQlite都支持“作为标识符分隔符(尽pipe它们并不是全部使用”作为“默认”),例如,您必须以ANSI模式运行MySQL,并且SQL Server只在QUOTED_IDENTIFIERON 。)

据SQLite介绍 ,

  • 'foo'是一个SQLstring
  • "foo"是一个SQL标识符(列/表/等)
  • [foo]是MS SQL中的标识符
  • `foo`是MySQL中的一个标识符

对于限定名称,语法是: "t"."foo"[t].[foo]

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

对于MS SQL使用[和]

 SELECT [COLUMN], [COLUMN 2] FROM [TABLE] 

对于MySQL,使用ticks`。

例如:

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

对于DBASE / DBF使用[]

 SELECT [DATE], [TIME], [ANY_OTHER_TO_BE_ESCAPED_COLUMN] FROM [TABLE]