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