在sql server中搜索字母数字字符串

时间:2014-06-18 06:37:54

标签: sql sql-server

如何在sql server中找到包含或不包含特殊charatcer的9个字符的字母数字字符串(除了_或/之类的字母数字charatcer) 例如我有列名USER。在本专栏中,我必须选择仅包含字母数字字符的值,如123abc,234def而不是23 * kl或25 / bz。

2 个答案:

答案 0 :(得分:0)

试试这个,

select * from [tbkname] where len([columnname]) = 9 AND columnname like '%[^a-zA-Z0-9]%'

答案 1 :(得分:0)

您是否期待以下内容,

DECLARE @InputString NVARCHAR(MAX) = 'D!E#$M&*O_@&1@&'
DECLARE @SrchExpr VARCHAR(255)
SET @SrchExpr =  '%[^a-z0-9]%'
    WHILE PatIndex(@SrchExpr, @InputString) > 0
        SET @InputString = Stuff(@InputString, PatIndex(@SrchExpr, @InputString), 1, '')
    SELECT @InputString

编辑: 有关更通用的解决方案,请参阅here