通過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
asbegin
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
endreturn @vjudge
end4.函式判斷字串只包含字母(忽略大小寫)
create function [dbo].fn_isalpha
(@pstring varchar(8000)
)returns bit
with encryption
asbegin
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
endreturn @vjudge
end5. 函式判斷字串不包含任何符號(包括空格)
create function [dbo].fn_isalphanumeric
(@pstring varchar(8000)
)returns bit
with encryption
asbegin
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
endreturn @vjudge
end6. 函式判斷字串不包含任何符號(除空格外)
create function [dbo].fn_isalphanumericblank
(@pstring varchar(8000)
)returns bit
with encryption
asbegin
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
endreturn @vjudge
end-- 注意:[^a-z0-9 ]模式中最後有乙個空格。
用charindex()——charindex(字元,字串)>0 –>包含
通過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
asbegin
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
endreturn @vjudge
end4.函式判斷字串只包含字母(忽略大小寫)
create function [dbo].fn_isalpha
(@pstring varchar(8000)
)returns bit
with encryption
asbegin
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
endreturn @vjudge
end5. 函式判斷字串不包含任何符號(包括空格)
create function [dbo].fn_isalphanumeric
(@pstring varchar(8000)
)returns bit
with encryption
asbegin
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
endreturn @vjudge
end6. 函式判斷字串不包含任何符號(除空格外)
create function [dbo].fn_isalphanumericblank
(@pstring varchar(8000)
)returns bit
with encryption
asbegin
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
endreturn @vjudge
end-- 注意:[^a-z0-9 ]模式中最後有乙個空格。
用charindex()——charindex(字元,字串)>0 –>包含
SQL中判斷字串中包含字元的方法
通過2個函式charindex和patindex以及萬用字元的靈活使用 函式 charindex和patindex charindex 查某字元 串 是否包含在其他字串中,返回字串中指定表示式的起始位置。patindex 查某字元 串 是否包含在其他字串中,返回指定表示式中某模式第一次出現的起始位置...
SQL中判斷字串中包含字元的方法
通過2個函式charindex和patindex以及萬用字元的靈活使用 函式 charindex和patindex charindex 查某字元 串 是否包含在其他字串中,返回字串中指定表示式的起始位置。patindex 查某字元 串 是否包含在其他字串中,返回指定表示式中某模式第一次出現的起始位置...
SQL中判斷字串中包含字元的方法
通過2個函式charindex和patindex以及萬用字元的靈活使用 函式 charindex和patindex charindex 查某字元 串 是否包含在其他字串中,返回字串中指定表示式的起始位置。patindex 查某字元 串 是否包含在其他字串中,返回指定表示式中某模式第一次出現的起始位置...