添加前导零大小写时

add a leading zero case when

如果周数小于 10,我正在尝试将前导零添加到周数。两种 col 类型都是 smallint,我已经尝试了以下代码,但没有产生我想要的结果。我得到的是:“20201”与我想要的“202001”。

SELECT CONCAT(CAST(yr_num AS VARCHAR), CASE WHEN CAST(wk_num AS VARCHAR) < 10 THEN '0' + wk_num ELSE wk_num  END) as year_wk FROM sometable

我正在为此查询使用 redshift。

你想要lpad():

select concat(yr_num, lpad(wk_num, 2, '0'))

我认为您不需要为 concat() 转换数字,但我手头没有 Redshift 来测试。