首页 > 解决方案 > 当我投射 varchar date sql 时不显示零

问题描述

concat(concat(concat(concat('9635CLR', substring(cast(date_part('year',er.fecha_procesado) as varchar),3,4)),
substring(cast(date_part('month',er.fecha_procesado) as varchar),0,2),
substring(cast(date_part('day',er.fecha_procesado) as varchar),0,2),
r.digito_remesa)))

例如,现在查询的结果是这样的:

9635CLR 21   9     7     502
        year month day

所以我想要的是这样的:

9635CLR 21   09    07     502
        year month day

为什么 SQL 忽略零?

标签: sqlpostgresql

解决方案


如果您想要特定格式的日期,请使用to_char(). 我会期待这样的事情:

('9635CLR' || ' ' ||
 to_char(er.fecha_procesado, 'YY MM DD') || ' ' ||
 r.digito_remesa
)

我不确定值之间的间距是如何设置的,但您可以根据需要添加空格。


推荐阅读