SQL两个非0非null的值,为什么相除后结果为0
答案:2 悬赏:50
解决时间 2021-11-08 01:36
- 提问者网友:雨之落き
- 2021-11-07 07:41
SQL两个非0非null的值,为什么相除后结果为0
最佳答案
- 二级知识专家网友:樣嘚尐年
- 2021-11-07 09:08
应该是相除后的结果小于1 , 而你sum 的字段是整型, 所以结果只保留了整型,就为0 了
你可以这么写 (1.00 * sum(A))/ (1.00* sum(B))
或者用 convert(decimal(18,4), sum(A)) / convert(decimal(18,4), sum(B))
你可以这么写 (1.00 * sum(A))/ (1.00* sum(B))
或者用 convert(decimal(18,4), sum(A)) / convert(decimal(18,4), sum(B))
全部回答
- 1楼网友:余生继续浪
- 2021-11-07 09:44
这个一般无法做到,
比如,数字、日期类型的数据,也可以存成 null, 但是却无法存成 空字符串 ''
再比如oracle,一般来说, 空字符串 '' 在数据库中 都存成 null
当然,你要是只改 字符 列,
可以,循环取出 所有表的所有列,然后 用动态sql执行:
update tab_a set col_x = '' where col_x is null;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯