僅使用TSQL就可以檢查varchar字段的前兩個字符是否按字母順序排列?檢查字符串的起始字符是否在T-SQL中按字母順序排列
我需要從my_table
中只選擇具有以兩個字母字符開頭的my_field
的行。我怎樣才能做到這一點?
是否可以使用正則表達式?
僅使用TSQL就可以檢查varchar字段的前兩個字符是否按字母順序排列?檢查字符串的起始字符是否在T-SQL中按字母順序排列
我需要從my_table
中只選擇具有以兩個字母字符開頭的my_field
的行。我怎樣才能做到這一點?
是否可以使用正則表達式?
你並不需要使用正則表達式,LIKE
足夠:
WHERE my_field LIKE '[a-Z][a-Z]%'
假設由「字母」你的意思是隻有拉丁字符,沒有什麼列爲Unicode的字母。
注 - 如果您的歸類是區分大小寫的,請將範圍指定爲[a-Z]
,這一點很重要。 [a-z]
將排除Z
。 [A-Z]
將排除a
。
select * from my_table where my_field Like '[a-z][a-z]%'
@Richardakacyberkiwi - 不正確。在SQL Server中,對於大多數排序規則,字母表的順序是'aAbBcCdDeE ... zZ'。也許你正在考慮ASCII? –
你說得對。 TBH,我從來沒有機會使用區分大小寫的排序規則。 – RichardTheKiwi
這僅適用於第一封和第二封信,我如何爲所有字符做到這一點? –