我的查询的下一行
concat(fiscalyear,fiscalweek) as yearweek,
2016年第1周显示为20161,但是我需要它显示为201601,第10周看起来像201610,
如何格式化财政周列?
请不要把我击倒我是非常新的答案 0 :(得分:1)
更新了JaydipJ的答案。
由于两列都属于Integer
类型,因此您必须同时使用Varchar
数据类型。
更新的答案应该像
SELECT convert(varchar(15),fiscalyear)+''+RIGHT('0'+convert(varchar(15),fiscalweek),2) as yearweek
答案 1 :(得分:0)
如果您使用的是SQL Server,那么 RIGHT 函数可能有助于获得所需的结果
SELECT fiscalyear+''+RIGHT('0'+fiscalweek,2) as yearweek,
答案 2 :(得分:0)
如果您使用的是Oracle,可以试试这个:
select case when fiscalweek between 1 and 9 then concat(fiscalyear,'0'||fiscalweek) else concat(fiscalyear,fiscalweek) end from yourTableName
如果statmemt我正在检查财政周是否是一位数字并且基于使用concat()函数的那个,构建输出。
答案 3 :(得分:0)
如果财政周列已经是一个字符串,JaydipJ解决方案将起作用。否则,您可以尝试以下方法来获得结果:
SELECT concat(fiscalyear, RIGHT('0' + cast(fiscalweek as varchar(2)),2))as yearweek ,