SQL standard to escape column names?

sql

Solution

Quotation Mark `"`

The SQL:1999 standard specifies that double quote (") (QUOTATION MARK) is used to delimit identifiers.

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

Oracle, PostgreSQL, MySQL, MSSQL and SQlite all support `"` as the identifier delimiter.

They don't all use `"` as the 'default'. For example, you have to be running MySQL in ANSI mode and SQL Server only supports it when `QUOTED_IDENTIFIER` is `ON`.

Problem

Is there a SQL standard to escape a column name? If not what works for MySQL and SQLite? does it also work for SQL Server?

Original source