通过2个函数 charindex 和 patindex 以及通配符的灵活使用,判断字符串中包含子字符串的方法 源码与演示:源码出处
1. 查询字符串中是否包含非数字字符select patindex('%[^0-9]%', '1235x461')select patindex('%[^0-9]%', '12350461')2. 查询字符串中是否包含数字字符select patindex('%[0-9]%', 'suyllgoo')select patindex('%[0-9]%', 'suyllg0o')3.函数判断字符串只包含数字create function [dbo].fn_isnumeric(@pstring varchar(8000))returns bitwith encryptionasbegindeclare @vjudge intset @vjudge = 0select @vjudge =casewhen patindex('%[0-9]%', lower(@pstring)) > 0 then 0when patindex('%[0-9]%', lower(@pstring)) = 0 then 1endreturn @vjudgeend4.函数判断字符串只包含字母(忽略大小写)create function [dbo].fn_isalpha(@pstring varchar(8000))returns bitwith encryptionasbegindeclare @vjudge intset @vjudge = 0select @vjudge =casewhen patindex('%[a-z]%', lower(@pstring)) > 0 then 0when patindex('%[a-z]%', lower(@pstring)) = 0 then 1endreturn @vjudgeend