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特定的。 –