SQL Server 字串處理

2021-09-07 21:25:40 字數 839 閱讀 2292

declare

@str

varchar(50

)set

@str='

ap-fqc-2014072300004'--

獲取指定字元第一次出現的位置

select

patindex('

%-%',@str) --

返回:3

--獲取指定字元第一次出現的位置之前的字串

select

substring(@str,1,charindex('

-',@str)-

1) --

返回:ap

--獲取指定字元最後一次出現的位置

select

len(@str)-

charindex('

-',reverse(@str))+1--

返回:7

--獲取指定字元第一次出現的位置與第二次出現的位置之間的字元

select

substring(@str,patindex('

%-%',@str)+

1,len(@str)-

charindex('

-',reverse(@str))+1-

patindex('

%-%',@str)-

1) --

返回:fqc

--獲取指定字元最後出現的位置之後的所有字串

select

reverse(substring(reverse(@str),1, charindex('

-',reverse(@str))-

1)) --

返回:2014072300004

SQL SERVER字串處理

1 將字串按分隔符擷取為類陣列。實現方式 根據分割符,找到分隔符在主串中的位置,然後根據位置,擷取主串前面的部分,存入表,將後面的部分賦值給主串,如此迴圈往復,直至結束。create function split string varchar 255 待分割字串 separator varchar ...

sql server 字串處理

判斷字串是否包含指定字串 charindex 22 11233 0執行字串sql語句 不帶引數的 declare sql nvarchar max set sql select from 表名 exec sp executesql sql 帶引數的 declare sql nvarchar max ...

SQL Server 字串處理

declare str varchar 50 set str ap fqc 2014072300004 獲取指定字元第一次出現的位置 select patindex str 返回 3 獲取指定字元第一次出現的位置之前的字串 select substring str,1,charindex str 1...