如果小于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可以测试。