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