拆分乙個字串的方法

2021-05-22 13:00:07 字數 3063 閱讀 1889

【小小問題集錦4

--拆分乙個字串的方法】 收藏

/*****拆分乙個字串*********

問題描述:

@str='fds,bbbf,eee,ddd,fff,hhhfg,dddde'  拆分成

col------------------------

fdsbbbf

eeeddd

fffhhhfg

dddde

*/--

-方法:動態

declare

@str

varchar

(500

),@aaa

varchar

(8000

)set

@str='

fds,bbbf,eee,ddd,fff,hhhfg,dddde

'set

@aaa='

select * from (select

'''+

replace

(@str,'

,','''

as str union all select

''')

+'''

) a

'exec

(@aaa

)  go

--方法:迴圈

create

table

#t( 

id 

varchar(10

)) 

declare

@str

varchar

(300

)  set

@str='

fds,bbbf,eee,ddd,fff,hhhfg,dddde

'declare

@iint

declare

@len

intset@i=

1while

@i<

len(

@str+'

,')  begin

insert

#t 

select

substring

(@str+'

,',@i

,charindex('

,',@str+'

,',@i

)-@i) 

set@i

=charindex('

,',@str+'

,',@i

)+1end

select

*from

#tdrop

table

#tgo

--or

create

function

f_splitstr(

@svarchar

(8000

),  

--待分拆的字串

@split

varchar(10

)    

--資料分隔符

)returns

@retable

(col

varchar

(100

))as

begin

declare

@splitlen

intset

@splitlen

=len

(@split+'

a')-

2while

charindex

(@split,@s

)>

0begin

insert

@revalues

(left(@s

,charindex

(@split,@s

)-1))

set@s

=stuff(@s

,1,charindex

(@split,@s

)+@splitlen,''

)end

insert

@revalues(@s

)return

endgo

--方法:使用臨時性分拆輔助表法

create

function

f_splitstr(

@svarchar

(8000

), 

--待分拆的字串

@split

varchar(10

)    

--資料分隔符

)returns

@retable

(col

varchar

(100

))as

begin

--建立分拆處理的輔助表(使用者定義函式中只能操作表變數)

declare

@ttable

(id

intidentity

,b bit

)insert

@t(b)

select

top8000

0from

syscolumns a,syscolumns b

insert

@reselect

substring(@s

,id,

charindex

(@split,@s

+@split

,id)

-id)

from

@twhere

id<=

len(@s+

'a')

andcharindex

(@split

,@split+@s

,id)=id

return

endgo

declare

@str

varchar

(500

),@aaa

varchar

(8000

)set

@str='

fds,bbbf,eee,ddd,fff,hhhfg,dddde

'select

*from

dbo.f_splitstr(

@str,'

,')

在乙個字串中尋找另外乙個字串

在乙個字串中尋找另外乙個字串 public class text foundit true break test system.out.println foundit?found it didn t find it 該段程式有點難以理解,主要就是if語句的理解,if searchme.charat ...

php判斷乙個字串包含另乙個字串

a 58252,58253 如果 a 中存在 b,則為 true 否則為 false。b 58253 if strpos a,b false else 查詢字串在陣列中出現的次數 array array 1,hello 1,world hello 11 計算 string在 array 需為陣列 中...

SQL 判斷乙個字串是否在另外乙個字串中

eg str1 admin str2 1234,123admin,xcxx 比較str1是否在str2中 用常用的charindex,返回肯定是有值的,這裡自己動手寫乙個方法 檢查乙個字串是否在另外乙個字串中數,另外乙個字串元素用,隔開 create function dbo checkstrina...