gpt4 book ai didi

sql - STRING_SPLIT 到多个变量

转载 作者:行者123 更新时间:2023-12-04 21:25:57 25 4
gpt4 key购买 nike

我有一个看起来像这样的字符串:

'1.25,5.34,6.9,8.6547,2.3'

我想将每个逗号分隔的值存储到这样的变量中,但在 T-SQL 中以编程方式:
Declare @Var1 float
Set @Var1 = 1.25
...

@Var2 = 5.34
@Var3 = 6.9

等等等等..

我该怎么做?

最佳答案

转换为 JSON

也许最简单的解决方案是将字符串转换为 JSON 数组并按位置访问项目:

declare @text varchar(200)='1.25,5.34,6.9,8.6547,2.3'
declare @json varchar(202)='[' + @text + ']'

declare @var1 numeric(18,5)= JSON_VALUE(@json,'$[0]')
declare @var2 numeric(18,5)= JSON_VALUE(@json,'$[1]')

select @var1,@var2

存储在表变量中但丢失订单

基于集合的解决方案是将项目存储在表变量 中。但是订单可能会丢失正如雷蒙德·奈兰 (Raymond Nijland) 指出的那样:
declare @text varchar(200)='1.25,5.34,6.9,8.6547,2.3'

declare @values table (id int identity,val varchar(20))

insert into @values (val)
select trim(value) from STRING_SPLIT(@text,',') x

insert into SomeTable (value1)
select val
from @values where ID=1

唯一可以强加的顺序是使用 ORDER BY 升序或降序,它假定输入的顺序无关紧要。不是很有帮助。

关于sql - STRING_SPLIT 到多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56188616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com