SELECT 对 MySQL 中的 DECIMAL 无效

SELECT is not valid with DECIMAL in MySQL

我尝试使用给出的答案执行 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"

Here 是一个 db<>fiddle.

我找到了使用截断的解决方案。我之前不知道如何使用 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