gpt4 book ai didi

sql - 获取最小和最大小数刻度值

转载 作者:行者123 更新时间:2023-12-01 10:38:16 24 4
gpt4 key购买 nike

我在 sql server 中有 float 数据类型列,我需要获得最小小数位数和最大小数位数。

Here is SQL Fiddle 我正在使用

Len (Cast(Cast(Reverse(CONVERT(VARCHAR(50), value, 128)
) AS FLOAT) AS BIGINT))

效果很好,但是当值是负数时,例如 -0.061 它会抛出错误 Error converting data type varchar to float.因此,对于 alter,我搜索并发现函数名称 PARSENAME(@var,1) 也适用于负数,但此函数在十进制值后返回,返回类型为 nchar

例如:如果 float 值是 -0.061,它将返回返回类型 nchar 的 061,所以我不能使用 len 函数来获取它的长度。

那么我如何通过使用 fiddle 或使用上述函数来使它工作。

最佳答案

尝试使用 ABS() 函数

SELECT value,
Decimals = CASE Charindex('.', value)
WHEN 0 THEN 0
ELSE
Len (Cast(Cast(Reverse(CONVERT(VARCHAR(50), ABS(value), 128)
) AS FLOAT) AS BIGINT))
END
FROM numbers

关于sql - 获取最小和最大小数刻度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32111146/

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