在 SQL 2000 裡並未提供類似 split 的含式,但目前已經知道 SQL 2005 開始內建這個函式了。
如果在不支援 split 的環境下卻仍要實作這功能,可以參考下面作法。
他是將 split 的功能註冊在 SQL 2000 的「使用者自訂函數」裡頭。如果你不想這麼做的話,當
然也可以將他抽離出來,獨自加到你自己的 SQL 語法裡。
CREATE FUNCTION split
(
@List nvarchar(2000),
@SplitOn nvarchar(5)
)
RETURNS @RtnValue table
(
Id int identity(1,1),
Value nvarchar(100)
)
AS
BEGIN
While (Charindex(@SplitOn,@List)>0)
Begin
Insert Into @RtnValue (value)
Select
Value = ltrim(rtrim(Substring(@List,1,Charindex(@SplitOn,@List)-1)))
Set @List = Substring(@List,Charindex(@SplitOn,@List)+len(@SplitOn),len(@List))
End
Insert Into @RtnValue (Value)
Select Value = ltrim(rtrim(@List))
Return
END
select * from split('hello,dd,ssss,ssx',',')
2007年8月9日 星期四
在 SQL 2000 實作 split 的功能
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言