SQL中判断字符串中包含字符的方法

来源:互联网 发布:python判断字符串查找 编辑:程序博客网 时间:2024/05/16 15:46

通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用
函数:CHARINDEX和PATINDEX
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 bit
WITH ENCRYPTION
AS
BEGIN
DECLARE @vJudge int
SET @vJudge = 0
SELECT @vJudge =
CASE
WHEN PATINDEX('%[0-9]%', LOWER(@pString)) > 0 THEN 0
WHEN PATINDEX('%[0-9]%', LOWER(@pString)) = 0 THEN 1
END
RETURN @vJudge
END


4.函数判断字符串只包含字母(忽略大小写)
CREATE FUNCTION [dbo].fn_IsAlpha
(
@pString VARCHAR(8000)
)
RETURNS bit
WITH ENCRYPTION
AS
BEGIN
DECLARE @vJudge int
SET @vJudge = 0
SELECT @vJudge =
CASE
WHEN PATINDEX('%[a-z]%', LOWER(@pString)) > 0 THEN 0
WHEN PATINDEX('%[a-z]%', LOWER(@pString)) = 0 THEN 1
END
RETURN @vJudge
END


5. 函数判断字符串不包含任何符号(包括空格)
CREATE FUNCTION [dbo].fn_IsAlphanumeric
(
@pString VARCHAR(8000)
)
RETURNS bit
WITH ENCRYPTION
AS
BEGIN
DECLARE @vJudge int
SET @vJudge = 0
SELECT @vJudge =
CASE
WHEN PATINDEX('%[^a-z0-9]%', LOWER(@pString)) > 0 THEN 0
WHEN PATINDEX('%[^a-z0-9]%', LOWER(@pString)) = 0 THEN 1
END
RETURN @vJudge
END


6. 函数判断字符串不包含任何符号(除空格外)
CREATE FUNCTION [dbo].fn_IsAlphanumericBlank
(
@pString VARCHAR(8000)
)
RETURNS bit
WITH ENCRYPTION
AS
BEGIN
DECLARE @vJudge int
SET @vJudge = 0
SELECT @vJudge =
CASE
WHEN PATINDEX('%[^a-z0-9 ]%', LOWER(@pString)) > 0 THEN 0
WHEN PATINDEX('%[^a-z0-9 ]%', LOWER(@pString)) = 0 THEN 1
END
RETURN @vJudge
END
-- 注意:[^a-z0-9 ]模式中最后有一个空格。

用charindex()——charindex(字符,字符串)>0 –>包含

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 三星手机wifi信号弱怎么办 6个月的宝宝缺钙怎么办 半岁宝宝坐不稳怎么办 你宝宝老不睡觉怎么办 三岁宝宝摸咪咪怎么办 宝宝很困又不睡怎么办 两岁宝宝摸咪咪怎么办 失眠怎么办如何快速睡眠小偏方 9岁儿童睡不着觉怎么办 2岁儿童睡不着觉怎么办 多梦头晕没精神怎么办 晚上睡眠不好老做梦怎么办 睡醒后喉咙干痛怎么办 感冒了喉咙干痛怎么办 老公想你了你该怎么办 赌博赢来的100万怎么办 赌博输了60万怎么办 网赌欠债10几万怎么办 网赌欠债还不起怎么办 赌博输了好多钱怎么办 赌钱输了400万怎么办 赌博输了10万怎么办 赌博欠了很多钱怎么办 87彩店中了500万怎么办 买的竞彩延期怎么办 微信支付受骗了怎么办 时时彩输了130万怎么办 赌博输了6万怎么办 手机买彩票中了怎么办 火车上补不到票怎么办 网赌输了好多钱怎么办 股票跌破20日线怎么办 科目二5次没考过怎么办 ps未响应没保存怎么办 ps卡住了没保存怎么办 店铺被淘宝封了怎么办 车子贴膜开窗了怎么办 我注册了有利网怎么办 小孩被鱼刺卡了怎么办 猫被鱼刺卡住了怎么办 嗓子被鱼刺卡了怎么办