SELECT SUM(IF(create_month = MONTH(NOW() - INTERVAL 1 MONTH)
AND create_year = YEAR(NOW() - INTERVAL 1 MONTH), 1, 0)) AS lastmonth,
SUM(IF(create_month = MONTH(NOW() - INTERVAL 2 MONTH)
AND create_year = YEAR(NOW() - INTERVAL 2 MONTH), 1, 0)) AS lastmonth2
FROM incident_view
WHERE customer_company_name = "Company"
大家好,
如何将两个结果(lastmonth 和 lastmonth2,均为 Int)转换为 Bigdecimal 类型/double 或任何其他十进制类型?
希望得到一些帮助。
干杯
最佳答案
您提到了BigDecimal
,它是Java类型,而不是MySQL类型。无论如何,documentation建议使用多种类型,包括 NUMERIC
或 DECIMAL
MySQL 类型,以使用 Java 的 BigDecimal
进行转换,因此您的转换可能类似于这个:
SELECT CAST(SUM(IF(create_month = MONTH(NOW() - INTERVAL 1 MONTH)
AND create_year = YEAR(NOW() - INTERVAL 1 MONTH), 1, 0)) AS NUMERIC) AS lastmonth,
CAST(SUM(IF(create_month = MONTH(NOW() - INTERVAL 2 MONTH)
AND create_year = YEAR(NOW() - INTERVAL 2 MONTH), 1, 0)) AS NUMERIC) AS lastmonth2
FROM incident_view
WHERE customer_company_name = "Company"
关于mysql - SQL - 在 BigDecimal 中转换两个别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36134732/