添加前导零大小写时
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 来测试。
如果周数小于 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 来测试。