You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL中MONEY类型查询输出缺失$符号的问题求助

解决MONEY类型查询时显示$符号的问题

原因说明

MONEY类型本质是数值型存储,仅保存金额的数值部分,不会存储货币符号(比如$)。你插入时输入的$只是输入格式,数据库会自动解析为纯数值存入,所以直接SELECT *不会显示符号。

解决方案

根据你使用的数据库,用对应的格式化函数将数值转换为带$的字符串格式:

1. SQL Server

使用FORMAT()函数指定货币格式:

SELECT 
    -- 替换为你的其他字段,比如ProductID、ProductName
    ProductID,
    ProductName,
    FORMAT(ProductPrice, 'C', 'en-US') AS FormattedPrice
FROM PRODUCT;

'C'代表货币格式,'en-US'指定美式英语区域,会自动添加$符号并保留两位小数。

2. MySQL

用CONCAT()拼接$符号和格式化后的数值:

SELECT 
    ProductID,
    ProductName,
    CONCAT('$', FORMAT(ProductPrice, 2)) AS FormattedPrice
FROM PRODUCT;

FORMAT()的第二个参数控制小数位数,确保金额显示标准的两位小数。

3. PostgreSQL

使用TO_CHAR()自定义格式模板:

SELECT 
    ProductID,
    ProductName,
    TO_CHAR(ProductPrice, '$999999.99') AS FormattedPrice
FROM PRODUCT;

$999999.99是格式模板,9代表任意数字位,可根据你实际的金额范围调整位数(比如金额更大就加更多9)。

注意事项

  • 格式化后的结果是字符串类型,如果需要后续做数值计算,建议保留原ProductPrice字段,仅在展示场景使用格式化后的字段。
  • 区域参数(比如en-US)决定显示的货币符号,若需要其他货币符号可替换对应的区域代码。

内容的提问来源于stack exchange,提问作者Asim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 20:25:22