gre*_*ode 1 sql case-when amazon-redshift
如果周数小于 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
Run Code Online (Sandbox Code Playgroud)
我正在使用 redshift 进行此查询。
你要lpad():
select concat(yr_num, lpad(wk_num, 2, '0'))
Run Code Online (Sandbox Code Playgroud)
我认为您不需要转换 的数字concat(),但我手头没有 Redshift 可供测试。