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位?

参考技术A select bumen_name,
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 语句插入表后怎么定义插入字段的类型?的主要内容,如果未能解决你的问题,请参考以下文章

sql语句 怎么从一张表中查询数据插入到另一张表中

请教oracle高手 在oracle里怎么样用一个插入语句插入两表里的数据

如何往数据库插入字段为空值的sql语句

插入数据库表中一条记录同时也插入另一个表中的SQL语句怎么写

mybatis动态插入sql语句的编写

怎么用SQL语句同步两个表中的字段值?