sql 字串分隔函式

2021-05-24 00:39:19 字數 1407 閱讀 4583

--declare @str varchar(max)

--declare @i int

--set @str='123,456,789'

--set @i=charindex(',',@str)

--print @i

--print ''''+left(@str,@i-1)+'''' --

分隔字串(例如

:'123,456,789') --

返回(例如:'123','456','789')

create

function [dbo].[fn_split] (

@str varchar

(8000),

--要分拆的字串

@spli varchar

(10)

--字串分隔符

(在此設定分隔符長度為或其它)

) returns

varchar

(8000)as

begin

declare

@returnstr varchar

(8000)

declare

@i int

declare

@splen int

set@str=

rtrim

(ltrim

(@str))

--去除原字串的左右空格

set@returnstr=

''if

@str<>

''begin

set @str=@str+

','set @splen=

len(@spli)

--獲取原字串字元個數

set @i=

charindex

(@spli,@str)

--得到分隔符第一次出現的位置

while @i > 0

begin

if @returnstr<>

''set @returnstr=@returnstr+

','+(

''''

+left(@str,@i-1)+

''''

)else

set @returnstr=(

''''

+left(@str,@i-1)+

''''

)set @str=

substring

(@str,@i+@splen,8000)

set @i=

charindex

(@spli,@str)

endend

return

@returnstr

end

--print dbo.fn_split('123,456,789',',') --

結果'123','456','789'

SQL 字串分隔函式

查詢某個 逗號分隔的字段 select from accinformation a where 啟用 in select from dbo.fnsplitstr ccaption,select from dbo.fnsplitstr 1,2,3 create function dbo fnsplit...

SQL根據字串B分隔字串A

建立錶值函式 1 create function dbo f split 2 3 splitstring nvarchar max 源字串a 4 separator nvarchar 10 分隔字串b,預設為空格5 6returns splitstringstable table 輸出的資料表7 8...

字串分隔 查詢函式

原型 extern char strtok char s,char delim 用法 include 功能 分解字串為一組標記串。s為要分解的字串,delim為分隔符字串。說明 首次呼叫時,s必須指向要分解的字串,隨後呼叫要把s設成null。strtok在s中查詢包含在delim中的字元並用null...