當我們需對查詢結果進行批量調整,例如所有員工都發(fā)工資額百分之八的獎金.將算好后的獎金再顯示出來.而不影響表內數(shù)據(jù),該怎樣操作呢,下面由,南昌網(wǎng)絡公司技術人員介紹具體操作方法和相關注意事項.
根據(jù)數(shù)據(jù)庫設計范式的要求,在設計數(shù)據(jù)庫時,數(shù)據(jù)庫表中的各列之間不存在函數(shù)依賴,為了方便查詢,可以在select語句中使用運算符對列值進行計算.在sql server中例如:
use mydatabase
go
select username Salary,Salary*0.08 from UserSalary
運行代碼即可看到結果,但這時會發(fā)現(xiàn)計算出來的獎金沒有列標題,這時就要利用別名查詢了,修改上述代碼如下:
use mydatabase
go
select username Salary,Salary*0.08 as '獎金' from UserSalary
其中as就是別名查詢的關鍵字,執(zhí)行以上代碼,這時就可以看到獎金列.
當獎金:80.0134249924
那么需要設置獎金的精確位數(shù),即獎金小數(shù)點后的位數(shù),因為系統(tǒng)直接計算出來的結果可能有很多位小數(shù),假設我們只要一位小數(shù)即可(角的單位),需要修改上述代碼如下所示:
select username Salary,(cast (Salary*0.08 as decimal(18,1))) as '獎金' from UserSalary
運行代碼即可看到結果;
南昌網(wǎng)站設計公司技術員提醒:cast函數(shù)可以實現(xiàn)數(shù)據(jù)類型的轉換,但在Access數(shù)據(jù)庫中是不支持cast函數(shù),一般用cint代碼,但cint不支持小數(shù).如果大家有更好的方法一起分享下.
在訪問access使用的sql如下:
select id,UserName,UserSex,Department,Salary,Date, cint(Salary*0.08) as Bonus from[UserSalary]
希望本文對廣大站長或從事企業(yè)網(wǎng)站建設公司的團隊有所幫助,如對此不太理解的,可以與南昌網(wǎng)站建公司百恒網(wǎng)絡技術部聯(lián)系。我們很高興與廣大站長和從事企業(yè)網(wǎng)站建設公司技術人員分享我們的技術和經驗,分享是一件很快樂的事情。