如何为包含数值的给定文本实现千位分隔符? Cast 和 Varchar_format 不工作

How to implement thousand separator for a given text which contains numerical value? Cast and Varchar_format is not working

我需要在下面 select db2

查询的输出中将 3456789 显示为 34,56,789

SELECT ' 运行 时间:' CONCAT CURRENT_TIME CONCAT SPACE(39) CONCAT 'PROCESS' CONCAT SPACE(44) CONCAT '3456789' 从 带有 UR 的 sysibm.sysdummy1;

当前输出为:运行时间:14.13.24 处理 3456689

'3456789' 已经是一个字符串...

假设您的数据实际上以数字开头,请查看 varchar_format()

SELECT ' RUN TIME: ' CONCAT CURRENT_TIME 
  CONCAT SPACE(39) CONCAT 'PROCESS' CONCAT SPACE(44) 
  CONCAT varchar_format(3456789,'9,999,999') 
FROM sysibm.sysdummy1 WITH UR;

请注意,在数据库中进行这种格式化通常是一种不好的做法,通常最好留给 UI。