SELECT在MySQL中对DECIMAL无效



我试图在给出答案的情况下执行IBM书中的一个问题语句,但我遇到了一个错误,说

SELECT在此位置无效

SELECT LASTNAME, SALARY,
DECIMAL(SALARY*1.05,9,2) AS "INC-Y-SALARY",
DECIMAL(SALARY*1.05/12,9,2) AS "INC-M-SALARY"
FROM EMPLOYEE
WHERE SALARY*1.05 <= 20000
ORDER BY SALARY

当我用替换第二行和第三行时,错误消失了

SALARY*1.05 AS "INC-Y-SALARY",
SALARY*1.05/12 AS "INC-M-SALARY"

但是问题需要这些列有两个小数位

你在找CAST()吗?

SELECT LASTNAME, SALARY,
CAST(SALARY*1.05 AS DECIMAL(9,2)) AS "INC-Y-SALARY",
CAST(SALARY*1.05/12 AS DECIMAL(9,2)) AS "INC-M-SALARY"

这里有一个db<gt;不停摆弄

我找到了一个使用truncate的解决方案。我以前不知道如何使用truncate。。。

SELECT LASTNAME, SALARY,
TRUNCATE((SALARY*1.05),2) AS "INC-Y-SALARY",
TRUNCATE((SALARY*1.05/12),2) AS "INC-M-SALARY"
FROM EMPLOYEE
WHERE SALARY*1.05 <= 20000
ORDER BY SALARY;

谢谢你的帮助!

附带说明:我使用MySQL

相关内容

最新更新