日期:2014-05-18 浏览次数:20709 次
select * from tb_name where ID not like '%[a-zA-Z0-9]%' //标点怎么判断呢??
select * from tb_name where patindex('%[^a-zA-Z0-9]%')=0
------解决方案--------------------
-- 建函数AOKMOKM create function AOKMOKM (@y varchar(50)) returns char(1) as begin declare @i int, @j int select @i=1, @j=len(@y) while(@i<=@j) begin if patindex('[吖-做]',substring(@y,@i,1))=0 return 'N' select @i=@i+1 end return 'Y' end ----- 测试 ----- -- 只包含汉字,而没有 数字、字母、标点符号 select dbo.AOKMOKM('迪卡') 'r' r ---- Y -- 只包含汉字数字,而没有字母、标点符号 select dbo.AOKMOKM('迪6卡') 'r' r ---- N -- 只包含汉字数字字母,而没有标点符号 select dbo.AOKMOKM('d迪6卡') 'r' r ---- N -- 只包含汉字标点符号,而没有数字字母 select dbo.AOKMOKM('迪,卡') 'r' r ---- N -- 只包含汉字,而没有数字字母标点符号 select dbo.AOKMOKM('唐诗三百首') 'r' r ---- Y