2016-11-22 25 views
0

不知道這個問題是否適合於stackoverflow,因爲它不是特定於任何特定的數據庫或API,但我不能真正谷歌的答案,或找到一個,例如,在SQL - 92規範(它會談關於整理,但似乎只用於數據,而不是標識符)。它在任何地方(在SQL規範或ODBC規範或類似的東西中)定義了什麼樣的排序規則被用來解析標識符?

我的問題是,SQL/ODBC是否考慮到不同數據庫使用不同數據庫來解析標識符(即列,表格,標量函數名稱等)的可能性?我已經看到提及不區分大小寫的匹配(例如對於ODBC目錄函數參數),但這只是排序規則的一種特殊情況(以及二進制排序規則的隱式對立),或者是某種「默認」排序規則假定?這感覺就像是一個疏忽......

+0

請與品牌的SQL數據庫的您正在使用標記您的問題。正確答案可能取決於實施。 –

+0

我不關心任何特定的實現。我實際上一直在研究一些'籠統'數據庫。 – Bwmat

回答

0

答案很可能是依賴於實現的,所以可能沒有可靠的一致行爲。

我可以爲MySQL解答。

  • 對象映射到文件系統條目(如數據庫/模式名和表名和視圖名稱和分區名稱),是區分大小寫的,除非你是一個操作系統,其中的文件系統是不區分大小寫的。
  • 像列名,觸發器,存儲過程等其他對象不區分大小寫。 INFORMATION_SCHEMA使用utf_general_ci的整理(不區分大小寫)。

欲瞭解更多詳情,請閱讀http://dev.mysql.com/doc/refman/5.7/en/charset-collation-information-schema.html

+0

用於INFORMATION_SCHEMA的排序規則是解析查詢時使用的排序規則嗎? – Bwmat

+0

您是否閱讀過我鏈接到的手冊頁? –

+0

不是很明顯 – Bwmat