sql - 当我投射 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 忽略零?
解决方案
如果您想要特定格式的日期,请使用to_char()
. 我会期待这样的事情:
('9635CLR' || ' ' ||
to_char(er.fecha_procesado, 'YY MM DD') || ' ' ||
r.digito_remesa
)
我不确定值之间的间距是如何设置的,但您可以根据需要添加空格。