gpt4 book ai didi

sql - 将 nvarchar 转换为十进制时,将 nvarchar 转换为数据类型 numeric 时出现算术溢出错误

转载 作者:行者123 更新时间:2023-12-04 12:26:42 27 4
gpt4 key购买 nike

我在 sql 中有一个列,在某些情况下有时是 nvarchar 和数字。该列的数据类型为 nvarchar 。我只对我不需要它的数字的地方感兴趣。我使用如下案例

(SELECT case when isnumeric(dia) =1   then dia else '' end as days from dbo.Debtor  )

上面的查询工作正常并返回记录,其中数字为空,为空。但是,我想以十进制或浮点数形式返回我的记录。我因为我希望能够过滤
SELECT .....
WHERE EXISTS(
(SELECT case when isnumeric(dia) =1
then dia else '' end as days from dbo.Debtor ) > 0

)

以上只是一个例子,但没有测试。请我现在的问题是,当我将列 dia 转换为十进制时,出现错误“将 nvarchar 转换为数字类型的算术溢出错误”。

以下是我的查询。
(SELECT case when isnumeric(dia) =1   then
cast(dia as decimal(3,1)) else 0 end as de from dbo.Debtor )

请任何帮助将不胜感激。谢谢

最佳答案

为了仅计算数值,您需要在 where 部分使用 isnumeric。
尝试类似

SELECT ISNULL((SELECT cast(dia as decimal(3,1)) from dbo.Debtor WHERE isnumeric(dia) =1 ),0)

关于sql - 将 nvarchar 转换为十进制时,将 nvarchar 转换为数据类型 numeric 时出现算术溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22833453/

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