相关文章推荐
精明的花卷  ·  X·  10 月前    · 
俊秀的椅子  ·  【ASMR:Creative Calm ...·  1 年前    · 

sqlserver拆分逗号分隔的字符串

SQL Server中可以使用函数将逗号分隔的字符串拆分成多行。 其中常用的函数是「STRING_SPLIT」和「XML方法」。

  • STRING_SPLIT:此函数在SQL Server 2016及更高版本中可用,语法如下:
  • SELECT * FROM STRING_SPLIT('Value1,Value2,Value3', ',')
    
  • XML方法:语法如下:
  • DECLARE @InputString VARCHAR(8000) = 'Value1,Value2,Value3'
    SELECT 
        Item = y.i.value('(./text())[1]', 'varchar(100)')
        (SELECT 
             x = CONVERT(XML, '<i>' + REPLACE(@InputString, ',', '</i><i>') + '</i>').query('.')
         ) AS a 
    CROSS APPLY 
        x.nodes('i') AS y(i);
    

    需要注意的是,在使用XML方法时,输入字符串的长度受限制,因此它不适用于所有情况。而STRING_SPLIT函数则不存在这样的限制。请根据您的具体需求选择适合您的方法。

  •