我在MySQL中發現其中類似WHERE x = 'Test'
條款將不區分大小寫(「TEST」,「測試」等)的匹配SQL和不區分大小寫條件
當使用PDO,是公平的假設,這大多數數據庫服務器都是這樣嗎?例如,如果我使用MSSQL或Oracle,這是否會是相同的情況?
我在MySQL中發現其中類似WHERE x = 'Test'
條款將不區分大小寫(「TEST」,「測試」等)的匹配SQL和不區分大小寫條件
當使用PDO,是公平的假設,這大多數數據庫服務器都是這樣嗎?例如,如果我使用MSSQL或Oracle,這是否會是相同的情況?
這並不是說這取決於服務器,但歸類。大多數數據庫將默認爲不區分大小寫的排序規則,因此您可以假設,但如果遇到區分大小寫的情況,則很容易進行更改。
是否可以在個別字段的基礎上進行敏感/非敏感歸類?還是全線? –
@Lea是的。 – Karolis
您不僅可以爲特定列指定排序規則,還可以通過在必要時指定COLLATE collation_name來進行特定比較。 –
你是對的,一般來說sql對字符串匹配不區分大小寫,幾乎適用於所有服務器。
下面是一篇文章,展示如何以不同的方式做一個案例敏銳的匹配,但如果你需要它!
http://vyaskn.tripod.com/case_sensitive_search_in_sql_server.htm
Oracle區分大小寫,默認數據爲
select * from 'test';
不等於
select * from 'TEST';
已經有一段時間,因爲我最後一次使用他們,但我似乎記得Informix的beiung區分大小寫和Sybase我覺得取決於整理。
正如其他響應者所指出的,SQL Server依賴於排序規則。
所以我認爲,唯一真正的答案是它依賴於RDBMS
@rabudde我認爲是這樣,但我可以向你保證,查詢匹配不敏感。 –
區分大小寫取決於列的排序規則。 – Karolis