1
使用SQL我試圖驗證一個字段只包含大寫字符,數字和可能包含' - '。
我試圖刪除具有小寫字符或除' - '以外的任何符號的結果。SQL像函數大寫字母有或沒有破折號
到目前爲止,我有
WHERE ItemCode LIKE UPPER(ItemCode) Collate SQL_Latin1_General_CP1_CS_AS
然而這允許所有其他有趣的字符和符號。
感謝您的幫助。
使用SQL我試圖驗證一個字段只包含大寫字符,數字和可能包含' - '。
我試圖刪除具有小寫字符或除' - '以外的任何符號的結果。SQL像函數大寫字母有或沒有破折號
到目前爲止,我有
WHERE ItemCode LIKE UPPER(ItemCode) Collate SQL_Latin1_General_CP1_CS_AS
然而這允許所有其他有趣的字符和符號。
感謝您的幫助。
WHERE ItemCode NOT LIKE '%[^-A-Z0-9]%' Collate Latin1_General_Bin
應該這樣做。
該-A-Z0-9
匹配-
字符或項目的排列順序範圍A-Z
,0-9
。 ^
否定了該表達。
所以結合NOT LIKE
可以找到那些不是數字,大寫或-
的字符的值。
謝謝你的幫助。 – MikeR
也許您可以在RDBMS中使用正則表達式進行此類過濾,但語法是rdbms特定的。 –