gpt4 book ai didi

sql - 小于 NVARCHAR(50) 上的函数,它保存数字但格式不同

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

我有一个列,其中包含许多不同类型的数字,当我在其上执行小于函数时,它似乎无法正常工作。

0 
0.000000
-0.001000
0.738000
1.000000
10.000000
10.005000
10.027000
...
99.947000
99.962000
99.988000
990.307000
991.190000
9918.058000
996
997

这是数字的样本吗?

最佳答案

字符串比较不同于数字比较。

如果你想比较数字,我建议将它们转换为 decimalfloat:

where try_convert(float, col) < 10

当然,我应该提一下,不推荐在字符字段中存储数字。如果可能,您应该使用原生类型。

编辑:

在 SQL Server 2012 之前的版本中,您应该使用 case:

where (case when isnumeric(col) = 1 then convert(float, col)
end) < 10

关于sql - 小于 NVARCHAR(50) 上的函数,它保存数字但格式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42444166/

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