SQL-92 标准的第 5.6 节包含规则 10...13,其中未加引号的标识符应大写,因此foo变为FOO但"foo"仍然是foo。
foo
FOO
"foo"
例如,Oracle、IBM DB2、Snowflake和ksqlDB遵守这些规则,但Postgres 、MySQL 或 SQLite 则不遵守这些规则。
问题是,为什么?根据我的理解,在具有大量关键字的语言中可选地引用标识符是有意义的。标识符一致的区分大小写或不区分大小写也是有意义的。但让它依赖于被引用的标识符看起来并不合理。
我缺少什么?
syntax sql-standard case-sensitive quoted-identifier
case-sensitive ×1
quoted-identifier ×1
sql-standard ×1
syntax ×1