数据库的求和,如果我的一列是用VARCHAR类型,保存的数据比如是339,369这样的金额数据,怎么才能相加?

数据库的求和,如果我的一列是用VARCHAR类型,保存的数据比如是339,369这样的金额数据,怎么才能相加?,第1张

你的VARCHAR类型来看,不是ORACLE的数据库

ORACLE数据库是使用TO_NUMBER()来实现字符到数字的转换的。不过ORACLE里面这个类型叫VARCHAR2或者CHAR

你的应该是SQLSERVER一类的数据库吧?

select

sum(CAST(列名

AS

INT))

from

如果金额有小数位,那就把INT改成DECIMAL(10,2)这样

select SUM(cast(filesize as numeric(12,0))) from lyjl where id>=1561468

其中filesize为字段名,as后跟为字段转换成的类型,numeric为数字型。这样就可以sum出varchar类型字段的总和了。

oracle的varchar相加实际是对字符串做隐式转换to_number之后再相加

如果你的字符串不是数字的话是没办法相加的

类似与下列字符串才可以相加

'1234'+'22'

下列不能转成数字型的是加不了了

'a'+'22'


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9909424.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存