我試圖用PATINDEX功能如下:的Transact-SQL勘不起作用
select PATINDEX('%[A-Z].%', 'he.llo MA. asd ' collate Cyrillic_General_CS_AS)
我希望它返回9,但它返回2 誰能ENLIGHT我有什麼錯?我也嘗試在第一個參數中提供collate,並使用Latin1_General_CS_AS代替Cyrrilic - 結果相同。
我試圖用PATINDEX功能如下:的Transact-SQL勘不起作用
select PATINDEX('%[A-Z].%', 'he.llo MA. asd ' collate Cyrillic_General_CS_AS)
我希望它返回9,但它返回2 誰能ENLIGHT我有什麼錯?我也嘗試在第一個參數中提供collate,並使用Latin1_General_CS_AS代替Cyrrilic - 結果相同。
這是基於我的任性的解決方法上this SO thread(如果太埃克斯的回答對您沒有幫助) :
select PATINDEX('%[ABCDEFGHIJKLMNOPQRSTUVWXYZ].%', 'he.llo MA. asd ' collate Latin1_General_CS_AS)
非常有創意的解決方法。 –
重複? http://stackoverflow.com/questions/4212110/range-wildcard-pattern-matching-behaviour-with-case-sensitive-collations – dean
不是重複的,但絕對是正確的道路。 – xQbert