Teradata SQL格式化十进制字段
我在teradata中有一个十进制字段(19,4),我需要它的特定格式:Teradata SQL格式化十进制字段,sql,teradata,Sql,Teradata,我在teradata中有一个十进制字段(19,4),我需要它的特定格式: 组分隔符作为点 小数字符作为逗号 只有两个十进制数字 数字的整数部分必须按3分组 我已经尝试了格式化、添加字符和强制转换函数。我还在这些函数中尝试了NLS\u NUMERIC\u CHARACTERS参数。我想我在TERADATA SQL中缺少一些基本原理,我将感谢您的帮助 想法很简单: SELECT some_decimal_field_in_proper_format_described_above FROM so
- 组分隔符作为点
- 小数字符作为逗号
- 只有两个十进制数字
- 数字的整数部分必须按3分组
SELECT some_decimal_field_in_proper_format_described_above
FROM some_table
对于强制转换/格式,组分隔符和小数分隔符由系统的SDF“区域设置”确定。但是,如果您想要一些不同的内容,您可以在格式字符串中使用D表示十进制,G表示组分隔符,并使用数字字符的自定义值:
TO_CHAR(x,'S999G999G999G999G990D99','NLS_NUMERIC_CHARACTERS = '',.''')
请提供示例数据和所需结果。只需再问一个问题:您知道此解决方案对查询性能是否是一个大问题吗?不是一个大问题。对于较大的答案集,可能会看到CPU消耗略有增加。