使用SQL我正在尝试验证字段是否仅包含大写字符,数字并且可能包含“ - ”。
我正在尝试清除具有小写字符或除“ - ”之外的任何符号的结果。
到目前为止我已经
了WHERE ItemCode LIKE UPPER(ItemCode) Collate SQL_Latin1_General_CP1_CS_AS
然而,这允许所有其他有趣的字符和符号。
感谢您的帮助。
答案 0 :(得分:1)
WHERE ItemCode NOT LIKE '%[^-A-Z0-9]%' Collate Latin1_General_Bin
应该做的伎俩。
-A-Z0-9
与排序顺序范围-
,A-Z
中的0-9
字符相匹配。 ^
否定了该表达式。
因此,与NOT LIKE
结合可以找到那些没有字符既不是数字也不是大写字母-
的值。