十年专注于品牌网站建设 十年专注于品牌网站建设,低调、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

数据库表列计算,例如工资统一增加某一比例操作方法

百恒网络 2012-09-22 2466

当我们需对查询结果进行批量调整,例如所有员工都发工资额百分之八的奖金.将算好后的奖金再显示出来.而不影响表内数据,该怎样操作呢,下面由,南昌网络公司技术人员介绍具体操作方法和相关注意事项.

根据数据库设计范式的要求,在设计数据库时,数据库表中的各列之间不存在函数依赖,为了方便查询,可以在select语句中使用运算符对列值进行计算.在sql server中例如:

use mydatabase

go

select username Salary,Salary*0.08 from UserSalary

运行代码即可看到结果,但这时会发现计算出来的奖金没有列标题,这时就要利用别名查询了,修改上述代码如下:

use mydatabase

go

select username Salary,Salary*0.08 as '奖金' from UserSalary

其中as就是别名查询的关键字,执行以上代码,这时就可以看到奖金列.

当奖金:80.0134249924

那么需要设置奖金的精确位数,即奖金小数点后的位数,因为系统直接计算出来的结果可能有很多位小数,假设我们只要一位小数即可(角的单位),需要修改上述代码如下所示:

select username Salary,(cast (Salary*0.08 as decimal(18,1))) as '奖金' from UserSalary

运行代码即可看到结果;

南昌网站设计公司技术员提醒:cast函数可以实现数据类型的转换,但在Access数据库中是不支持cast函数,一般用cint代码,但cint不支持小数.如果大家有更好的方法一起分享下.

在访问access使用的sql如下:

select id,UserName,UserSex,Department,Salary,Date, cint(Salary*0.08) as Bonus from[UserSalary]

希望本文对广大站长或从事企业网站建设公司的团队有所帮助,如对此不太理解的,可以与南昌网站建公司百恒网络技术部联系。我们很高兴与广大站长和从事企业网站建设公司技术人员分享我们的技术和经验,分享是一件很快乐的事情。


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×