它是在任何地方定义的(在SQL规范,或ODBC规范或类似的东西中)使用什么排序规则来解析标识符?

时间:2016-11-22 23:16:12

标签: sql odbc collation

不确定这个问题是否适合stackoverflow,因为它不是特定于任何特定数据库或api,但我不能真正谷歌答案,或者找到一个,例如,SQL-92规范(它谈论整理,但似乎只针对数据,而不是标识符。)

我的问题是,SQL / ODBC是否考虑了不同数据库用于解析标识符(即列,表,标量函数名称等)的不同排序规则的可能性?我已经看到提到不区分大小写的匹配(例如对于ODBC目录函数参数),但这只是排序规则的特殊情况(以及二进制排序规则的隐式反对),或者是一些“默认”排序规则假定?感觉就像一个疏忽......

1 个答案:

答案 0 :(得分:0)

答案很可能是依赖于实现的,因此可能没有可靠的一致行为。

我可以回答MySQL。

  • 映射到文件系统条目的对象(如数据库/模式名称和表名称以及视图名称和分区名称)区分大小写,除非您处于文件系统不区分大小写的操作系统上。 / LI>
  • 其他对象(如列名,触发器,存储过程等)不区分大小写。 INFORMATION_SCHEMA使用utf_general_ci的排序规则(不区分大小写)。

有关详情,请参阅http://dev.mysql.com/doc/refman/5.7/en/charset-collation-information-schema.html