mysql - SQL - 在 BigDecimal 中转换两个别名

标签 mysql sql

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建议使用多种类型,包括 NUMERICDECIMAL 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/

相关文章:

sql - Sql CE 的探查器

MySQL - 通过另一个属性查询时有效地对表进行排序

mysql - 使用left join从mysql的四个表中获取用户在页面上的所有事件

mysql - 使用 JOIN 按父 ID 获取所有子项

mysql - 计算具有特定条件的行并仍然显示所有行

mysql - SQL 维护脚本

使用 POINT 的 Mysql 空间距离 - 不工作

mysql - ER_PARSE_ERROR : check the manual that corresponds to your MySQL server version for the right syntax to use near '== false

mysql - SQL n :m Inheritance join

sql - FILTER 中不允许使用聚合函数