我希望能够仅选择某个字段同时包含字母和数字的字段。例如:
Select [field1], [field2]
from [db1].[table1]
where [field2] = *LETTERS AND NUMBERS*
我使用的是 SQL Server 2005,也很抱歉,但我不能百分百确定该字段的数据类型,因为它位于链接服务器上并且目前无法访问。希望你能帮忙
:)
LIKE 会做到的。这是双重否定
where [field2] NOT LIKE '%[^0-9a-z]%'
It says:
-
%[^0-9a-z]%
means not (alphanumeric)
-
NOT LIKE '%[^0-9a-z]%'
means not(not(alphanumeric))
-> 字母数字
Edit:
对于所有数字......“它有效”
SELECT 'it works' WHERE '1234567' NOT LIKE '%[^0-9a-z]%'
所有字母
SELECT 'it works' WHERE 'abcdefg' NOT LIKE '%[^0-9a-z]%'
包含非字母数字
SELECT 'it works' WHERE 'abc_123' NOT LIKE '%[^0-9a-z]%'
Edit 2:
该解决方案适用于
仅限字母数字、字母和数字的任意组合
Edit 3:
字母后跟数字
where [field2] NOT LIKE '%[^0-9a-z]%' AND [field2] LIKE '[a-z]%[0-9]'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)