sql 语句插入表后怎么定义插入字段的类型?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 语句插入表后怎么定义插入字段的类型?相关的知识,希望对你有一定的参考价值。
我有一条sql语句
select bumen_name,((select isnull(sum(xx_jf+xx_gsjf),0) from xx where xx_bumenid=bumen_id and xx_show=2 and xx_del=0)/bumen_sumren) as jf_zj from bumen where bumen_del=0 and bumen_show = 0 order by jf_zj desc
我想列出每个部门在信息表里的积分,采用插入表的方式,xx_jf xx_gsjf这两个字段都是整型,但是由于最后要除以部门人数,所以会有小数,要按照jf_zj这个字段排序,但是sql运算结果jf_zj总是为整型,无法为小数,这样很多部门积分除以人数后都为0了,怎么能定义jf_zj 的类型呢,使得运算出来的结果是小数,保留2位?
round(((select isnull(convert(float,sum(xx_jf+xx_gsjf)),0)
from xx where xx_bumenid=bumen_id and xx_show=2 and xx_del=0)/bumen_sumren),2) as jf_zj
from bumen where bumen_del=0 and bumen_show = 0 order by jf_zj desc
加上数据类型转换和保留小数位数 参考技术B select bumen_name,((select isnull(sum(xx_jf+xx_gsjf),0) from xx where xx_bumenid=bumen_id and xx_show=2 and xx_del=0)/cast(bumen_sumren as decimal(18,2))) as jf_zj from bumen where bumen_del=0 and bumen_show = 0 order by jf_zj desc
注意cast 和 decimal本回答被提问者采纳
sql怎么插入日期类型数据报将截断字符串或二进制数据
主要是字段的长度太小了,加大字段的长度即可。 比如说字段的长度为5 如果输入字符的长度达到8 的就会显示这个错误。 参考技术A 这还用说,当让是你插入的内容过多啦- -!以上是关于sql 语句插入表后怎么定义插入字段的类型?的主要内容,如果未能解决你的问题,请参考以下文章
请教oracle高手 在oracle里怎么样用一个插入语句插入两表里的数据