MySQL 函数将 select 浮点值作为整数,如果其小数点为 0
MySQL function to select float value as integer if its decimal point is 0
我有一列 float
类型(数量)。该值可以是整数或浮点数。如果小数点为 0(例如:value = 0.0, 1.0
等),我想将值作为整数获取,如果它有小数点,则需要将值作为小数本身。有什么 MySQL 功能吗?
以下是我的查询
SELECT GROUP_CONCAT(CONCAT(reason_code, ':', COALESCE(identifier, ''), '*', amount * -1)) AS accout_groups
FROM adjustments WHERE check_id = 1 GROUP BY department_id*
查询结果如下
PI:*-900.00,AP:*-87.00,CS:12312312*-1500.00,SL:12312312*-1103.83
我期待的是
PI:*-900,AP:*-87,CS:12312312*-1500,SL:12312312*-1103.83
我尝试使用
SELECT GROUP_CONCAT(CONCAT(reason_code, ':', COALESCE(identifier, ''), '*',(TRIM(TRAILING '.' FROM(TRIM(TRAILING '0' FROM amount)))) * -1)) AS accout_groups FROM adjustments WHERE check_id = 1 GROUP BY department_id
这是有效的
我有一列 float
类型(数量)。该值可以是整数或浮点数。如果小数点为 0(例如:value = 0.0, 1.0
等),我想将值作为整数获取,如果它有小数点,则需要将值作为小数本身。有什么 MySQL 功能吗?
以下是我的查询
SELECT GROUP_CONCAT(CONCAT(reason_code, ':', COALESCE(identifier, ''), '*', amount * -1)) AS accout_groups
FROM adjustments WHERE check_id = 1 GROUP BY department_id*
查询结果如下
PI:*-900.00,AP:*-87.00,CS:12312312*-1500.00,SL:12312312*-1103.83
我期待的是
PI:*-900,AP:*-87,CS:12312312*-1500,SL:12312312*-1103.83
我尝试使用
SELECT GROUP_CONCAT(CONCAT(reason_code, ':', COALESCE(identifier, ''), '*',(TRIM(TRAILING '.' FROM(TRIM(TRAILING '0' FROM amount)))) * -1)) AS accout_groups FROM adjustments WHERE check_id = 1 GROUP BY department_id
这是有效的