步骤2:使用STRING_SPLIT函数将字符串拆分为多个值 接下来,我们将使用STRING_SPLIT函数将字符串拆分为多个值,并将结果存储到一个临时表中。以下是拆分字符串的代码: DECLARE@TempTableTABLE([ID]INT,[Value]NVARCHAR(MAX));INSERTINTO@TempTableSELECTID,[Value]FROMStringsCROSSAPPLYSTRING_SPLIT([String],','); 1....
在上面的代码中,我们使用CROSS APPLY操作符将ExampleTable表中的StringValue字段按逗号分隔成多行,并将结果插入到SplitTable表中。STRING_SPLIT函数用于将字符串拆分为多个值,并返回一个表。然后,我们使用CROSS APPLY将这个表与ExampleTable表连接在一起,并将结果存储在SplitTable表中。 现在,我们可以查询SplitTable表来...
SELECT3AS ID,'F,G'AS B ) A cross apply fn_SplitString(A.B,',') v
1、 利用 cross apply 配合 string_split 该表值函数实现拆分 2、 string_split 返回一个单列的表,列名固定为"value"(无法通过函数参数修改) 。 参考: STRING_SPLIT (Transact-SQL) 官方文档 docs.microsoft.com/zh-c 发布于 2021-10-12 20:49 ...
CROSS APPLY STRING_SPLIT(t.description, ',')v; 四、和in搭配使用 有些应用中,参数的值是不确定的,是用逗号拼接后,传入sql中,这个时候string_split特别有用,可以和in搭配使用。 SELECT t.id, t.name, t.description FROM test t WHERE t.id IN (SELECT CAST(v.value AS INT) AS id FROM STRING_SP...
PayScaleGroup = 'PSG2,PSG3' UNION ALL SELECT OriginalRowNo = 3, Calendar = 'QUEENSLAND', PersonnelArea = 'AU04,AU05,AU06', PayScaleGroup = 'PSG4,PSG5' ) AS A CROSS APPLY STRING_SPLIT(PersonnelArea, ',') AS PersonnelArea CROSS APPLY STRING_SPLIT(PayScaleGroup, ',') AS PayScale...
SQL Server 2016 引入了一个新的内置表值函数STRING_SPLIT,它将指定的分隔字符拆分提供的输入字符串,并以 table 的形式返回输出分隔值,每个分隔符之间的每个分隔值都有一行。 STRING_SPLIT 函数有两个参数: STRING_SPLIT(字符串,分隔符) 该字符串是具有 char,nchar,varchar 或 nvarchar 数据类型的字符表达式。分隔...
CROSS APPLY ( SELECT N.value('.', 'nvarchar(10)') AS Value FROM a.XMLString.nodes('V') As T(N) ) AS b ) 此方法通过构造XML字符串去使用XML的特有方法进行实现。 结果展示 SELECT * FROM [dbo].[SplitString]('12,123,21312',',') ...
SELECT Split.a.value('.', 'NVARCHAR(MAX)') DATA FROM ( SELECT CAST('<X>'+REPLACE(@ID, ',', '</X><X>')+'</X>' AS XML) AS String ) AS A CROSS APPLY String.nodes('/X') AS Split(a); Result : DATA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
END string_split; string_split 函数可以将输入的字符串以指定分隔符进行拆分,默认分隔符为逗号。例如: SELECT v.column_value FROM string_split('Oracle,MySQL,SQL Server,PostgreSQL,SQLit') v; COLUMN_VALUE| ---| Oracle | MySQL | SQL Server | ...