MySQL 从十进制(13.6) 到货币
MySQL from decimal(13.6) to currency
我正在尝试将小数 (13.6) 值转换为欧元货币
我现在得到的结果是:
╔══════════════╦═════════╗
║ total ║ Date ║
╠══════════════╬═════════╣
║8887616.500000║ 2017 ║
╚══════════════╩═════════╝
我想要的是这样的:
╔══════════════╦═════════╗
║ total ║ Date ║
╠══════════════╬═════════╣
║€8,887.616.50 ║ 2017 ║
╚══════════════╩═════════╝
或者这个:
╔══════════════╦═════════╗
║ total ║ Date ║
╠══════════════╬═════════╣
║ €M8,9 ║ 2017 ║
╚══════════════╩═════════╝
我确实尝试过从十进制转换,但没有成功
SELECT SUM(totalExcl) AS total, DATE_FORMAT(date_add, '%Y') AS 'Date'
FROM ex.ps_oxo_quotation
WHERE saleType IN ('IEW' , 'As', 'Pr')
AND date_add >= '2017-01-01 00:00:00'
GROUP BY 'Date'
ORDER BY 'Date' DESC
这将为您提供欧元格式的总和:
SELECT CONCAT('€', FORMAT(SUM(totalExcl), 2, 'de_DE')) AS total
将显示:€8.890.905,86
另一个请求的备选方案:
SELECT CONCAT('€M', FORMAT((SUM(totalExcl)/1000000), 1, 'de_DE')) AS total
将显示:€M8,9
请注意,此示例将根据标准 (LOCALE de_DE) 显示总和,而不是您要求的确切格式,其中包含混合点“.”。和逗号“,”以非标准方式。如果您确实必须以这种方式格式化总和,则可以通过一些字符串操作轻松解决此问题。
我正在尝试将小数 (13.6) 值转换为欧元货币
我现在得到的结果是:
╔══════════════╦═════════╗
║ total ║ Date ║
╠══════════════╬═════════╣
║8887616.500000║ 2017 ║
╚══════════════╩═════════╝
我想要的是这样的:
╔══════════════╦═════════╗
║ total ║ Date ║
╠══════════════╬═════════╣
║€8,887.616.50 ║ 2017 ║
╚══════════════╩═════════╝
或者这个:
╔══════════════╦═════════╗
║ total ║ Date ║
╠══════════════╬═════════╣
║ €M8,9 ║ 2017 ║
╚══════════════╩═════════╝
我确实尝试过从十进制转换,但没有成功
SELECT SUM(totalExcl) AS total, DATE_FORMAT(date_add, '%Y') AS 'Date'
FROM ex.ps_oxo_quotation
WHERE saleType IN ('IEW' , 'As', 'Pr')
AND date_add >= '2017-01-01 00:00:00'
GROUP BY 'Date'
ORDER BY 'Date' DESC
这将为您提供欧元格式的总和:
SELECT CONCAT('€', FORMAT(SUM(totalExcl), 2, 'de_DE')) AS total
将显示:€8.890.905,86
另一个请求的备选方案:
SELECT CONCAT('€M', FORMAT((SUM(totalExcl)/1000000), 1, 'de_DE')) AS total
将显示:€M8,9
请注意,此示例将根据标准 (LOCALE de_DE) 显示总和,而不是您要求的确切格式,其中包含混合点“.”。和逗号“,”以非标准方式。如果您确实必须以这种方式格式化总和,则可以通过一些字符串操作轻松解决此问题。