PDB*_*PDB 3 sql t-sql sql-server select where
我希望能够只选择某个字段包含字母和数字的字段.例如:
Select [field1], [field2]
from [db1].[table1]
where [field2] = *LETTERS AND NUMBERS*
Run Code Online (Sandbox Code Playgroud)
我使用SQL Server 2005,也很抱歉,我不是百分之百确定该字段的数据类型,因为它在链接服务器上,并且在一分钟内无法访问.希望你能帮忙
:)
喜欢这样做.这是一个双重否定
where [field2] NOT LIKE '%[^0-9a-z]%'
Run Code Online (Sandbox Code Playgroud)
它说:
%[^0-9a-z]% 手段 not (alphanumeric)NOT LIKE '%[^0-9a-z]%'意思是not(not(alphanumeric))- >字母数字编辑:
对于所有数字......"它有效"
SELECT 'it works' WHERE '1234567' NOT LIKE '%[^0-9a-z]%'
Run Code Online (Sandbox Code Playgroud)
所有的信件
SELECT 'it works' WHERE 'abcdefg' NOT LIKE '%[^0-9a-z]%'
Run Code Online (Sandbox Code Playgroud)
包含非字母数字
SELECT 'it works' WHERE 'abc_123' NOT LIKE '%[^0-9a-z]%'
Run Code Online (Sandbox Code Playgroud)
编辑2:
这个解决方案是为了
只有字母数字,字母和数字的任何混合
编辑3:
字母后跟数字
where [field2] NOT LIKE '%[^0-9a-z]%' AND [field2] LIKE '[a-z]%[0-9]'
Run Code Online (Sandbox Code Playgroud)
编辑:
最后,2个字母和最多3个数字
where
[field2] LIKE '[a-z][a-z][0-9]'
OR
[field2] LIKE '[a-z][a-z][0-9][0-9]'
OR
[field2] LIKE '[a-z][a-z][0-9][0-9][0-9]'
Run Code Online (Sandbox Code Playgroud)