首页 > 解决方案 > 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"

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

标签: sqldecimal

解决方案


你在找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<>fiddle。


推荐阅读