根據某一列某一分隔符分成多行數據

數據庫: sqlserver

開發中會有場景,一些使用 ","分隔的數據,希望將其分成多行數據進行查詢展示.

方案: 使用  CROSS APPLY 來實現. 如下 .其中 attractStaffId的字段爲使用","分隔的字段

select v.id,v.name,
  c.value('.', 'varchar(50)') AS staffId
from s_student v
  left join WF_TASK t on v.id = t.task_id
  CROSS APPLY ( SELECT CAST('<row>' + REPLACE(v.attractStaffId, ',',
                                              '</row><row>')
                            + '</row>' AS XML) AS xmlcode
              ) C1
  CROSS APPLY xmlcode.nodes('*') t1 ( c )

參考: https://www.cnblogs.com/TheBob/p/10298290.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章