【发布时间】:2019-04-02 08:24:20
【问题描述】:
我有一个字符串,上面写着“在德国 20 年”,需要使用 SQL 将其分成两列。一列包含数字 20,第二列包含字符串“德国年”。
我使用了 string_split 函数,使用空格作为分割字符。但是,问题是我最终从拆分中获得了两个多值。
declare @message varchar(100) = '20 years in Germany';
select
(
select top 1 [value] from string_split([value], ' ') order by value asc -- get the number 20 in the string
)
My desired result is two columns
------------- ----------------
20 years in Germany
【问题讨论】:
-
向我们展示更多不同类型的样本数据以及预期结果。
-
string_split返回行,而不是列。如果您想将第一个空格之前的内容作为一部分,并将其之后的内容作为另一部分,请使用left、right、len和charindex的组合。
标签: sql sql-server