【T-SQL】將單一欄位組合字串轉成多欄 | SQL 字串 切割
![【T-SQL】將單一欄位組合字串轉成多欄](https://i.imgur.com/axBPWDg.jpg)
利用轉型SQLXML進行字串分割環境:SQL2008R2 SQL2016資料庫已經有 STRING_SPLIT(Transact-SQL)[1] 字串分割函式了,但舊的資料庫還是需要自己寫FUNCTION才能完成分割的動作,這部分網路上有不少前輩已經有寫教學了,很值得參考,例如:[SQL]使用CTE拆解逗號相隔的字串為資料列[2][MSSQL]自己寫SQLServer的Split()函數[3]當初寫程式,用在C#開發,在系統中可以用split()將資料進行分割,顯示在畫面上,所以就直接將部分資料組合後回寫進資料表的單一欄位做紀錄備查。沒想到果然遇到需要拿出來用的時候,但是竟然不是使用系統讀取。這次...
![【T-SQL】將單一欄位組合字串轉成多欄](http://pix1.agoda.net/hotelimages/300/3008492/3008492_17121510550060424840.jpg?s=800x)
利用轉型SQLXML進行字串分割
環境:SQL2008 R2
SQL2016 資料庫已經有 STRING_SPLIT (Transact-SQL)[1] 字串分割函式了,但舊的資料庫還是需要自己寫FUNCTION才能完成分割的動作,這部分網路上有不少前輩已經有寫教學了,很值得參考,
例如:
[SQL] 使用 CTE 拆解逗號相隔的字串為資料列[2]
[MSSQL] 自己寫SQL Server的Split()函數[3]
當初寫程式,用在C#開發,在系統中可以用 split()將資料進行分割,顯示在畫面上,所以就直接將部分資料組合後回寫進資料表的單一欄位做紀錄備查。
沒想到果然遇到需要拿出來用的時候,但是竟然不是使用系統讀取。這次是要將存在欄位中的資料直接產出報表,提供給同仁做查核。
原先就有寫好FUNCTION,將字串分割成一個table後取用,但是這樣的分割並不是我想要的,在查找資料的過程中,看到黑大的文章【將複合字串拆成多欄位-以ORACLE及SQL為例[4]】其中有段說明 【在SQL也能將複合字串拆成多欄位囉!(請直接參閱黑大文章)】,直接命中需求。
就利用黑大的說明,進行測試。並將結果記錄下來:
--宣告暫存資料表,並寫入測試資料 declare @t table(id int, date datetime,data varchar(2000)) insert into @t(id,data) select 23,<DATA>2,QQPrint,HJ92288,1076-013,381062,10000,G27190.14,1926,TW,2V,CCD37024</DATA> insert into @t(id,data) select 24,<DATA>2,QQPrint,HJ92288,1076-013,381062,10000,...取得本站獨家住宿推薦 15%OFF 訂房優惠
本站住宿推薦 20%OFF 訂房優惠,親子優惠,住宿折扣,限時回饋,平日促銷
STRING_SPLIT (Transact-SQL) | SQL 字串 切割
一起幫忙解決難題,拯救IT 人的一天 | SQL 字串 切割
在sql server中如何切割字串@ 信德隨想:: 痞客邦 | SQL 字串 切割
SQL substring 切割逗號字串變成多欄 | SQL 字串 切割
【T-SQL】將單一欄位組合字串轉成多欄 | SQL 字串 切割
[MS SQL] 實做Split | SQL 字串 切割
Sql Server字串拆分(Split)方法彙總 | SQL 字串 切割
SQL裡類似SPLIT的分割字串函式 | SQL 字串 切割
Sql Server中使用特定字元分割字元串 | SQL 字串 切割
SQL Split @ 學海無邊,書囊無底:: 痞客邦 | SQL 字串 切割
![](https://i.imgur.com/axBPWDg.jpg)