【发布时间】:2015-05-30 13:45:30
【问题描述】:
我了解 float 以二进制形式存储,是 SQL Server 中的一种表示形式。但是,我需要表中浮点列中表示的最大小数位数。我找到了this link,它解释了如何获取每行的小数位数。但是,我无法弄清楚如何获得该结果的最大值。本质上,这就是我想要做的。
SELECT MAX
(Decimals = CASE Charindex('.', [QUANTITY])
WHEN 0 THEN 0
ELSE
Len (Cast(Cast(Reverse(CONVERT(VARCHAR(50), [QUANTITY], 128)
) AS FLOAT) AS BIGINT))
END)
FROM [schema].[table]
这在 END 之后给了我一个语法错误。我尝试了一个子查询,但似乎也无法使语法正确。
【问题讨论】:
标签: sql-server floating-point subquery