具體來說,Sql Server 2005/T-Sql。我有一個字段,主要是一系列兩個字符,它們都應該是大寫字母,但是有一些遺留數據早於當前的數據庫/系統,我需要確定哪些記錄違反了上層套管公約。區分字符中的「AB」和「Ab」數據庫字段
我想這會工作:
select * from tbl where ascii(field1) <> ascii(upper(field1))
事實上它返回我的記錄屈指可數。現在他們已經得到糾正,現在該查詢沒有返回任何數據。但是我有人告訴我數據庫中仍然有混合數據,我剛剛找到一個例子:'FS'和'F'都報告相同的ASCII值。
爲什麼這種方法有缺陷?有什麼更好的方法可以解決這個問題,或者我該如何解決這種方法才能正確工作?
打我吧:) – 2009-02-04 13:40:36
嘎,我誤讀了Ascii的幫助。謝謝。 – peacedog 2009-02-04 13:42:23
np,但我認爲@tehvan有一個好點,你可以完全省略ASCII的用法。 – cmsjr 2009-02-04 13:43:58