gpt4 book ai didi

sql - 转换为 float 时,空字符串应为 NULL

转载 作者:行者123 更新时间:2023-12-02 07:19:12 25 4
gpt4 key购买 nike

考虑以下 TSQL 代码:

declare @a nvarchar(500) = N''
select try_convert(float, @a)

输出是:

0

我需要输出为 NULL。

我能做到:

declare @a nvarchar(500) = N''
select case @a
when '' then null
else try_convert(float, @a)
end

而且效果很好。

然而,这只是一个模型。在我的现实生活场景中,有超过 200 个 NVARCHAR(500) 列,而不是 @a, float 或零长度字符串。我需要一种快速将零长度字符串转换为 NULL(以及其他所有内容都为 float )的方法,可能无需构建 200 个单独的 CASE 语句。

最佳答案

我对依赖 try_parse()try_convert()/try_cast() 之间相当莫名其妙的差异并不感到兴奋。相反,我会去:

try_convert(float, nullif(@a, ''))

这还有一个好处,就是可以非常明确地说明您要完成的任务。

关于sql - 转换为 float 时,空字符串应为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50811586/

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