例如,我试图将列REVENUE_MONTH中的数据转换为03,而不是3。下面是我的两种方法
CONCAT(REVENUE_YEAR,'-',CAST(CASE WHEN REVENUE_MONTH IN (1,2,3,4,5,6,7,8,9) THENCONCAT(0,REVENUE_MONTH) ELSE REVENUE_MONTH END AS NUMBER(38,0)),'-','01
我有一个以下格式的快照日期:2021年6月28日,我希望它是这样的: 202106。因此,前四位是年份,下两位是前导为零的月份。我尝试了以下代码: concat(extract(year from snapshot_date), extract(month from snapshot_date)) 但我得到的回报是: 20216,没有前导零。如何在没有CASE语句的情况下轻松获取它?
如果周数小于10,我会尝试添加一个前导零。两种类型的列都是小整数,并且我尝试了以下代码,它没有产生我想要的结果。我得到的:‘20201’与我想要的'202001‘。SELECT CONCAT(CAST(yr_num AS VARCHAR), CASE WHEN CAST(wk_num AS VARCHAR) < 10 THEN '0' + wk_num ELSE