我有一个日期20190412
,我想选择月份和年份。
下面是我用来获取年份和月份的代码
Select CAST(YEAR(@datecolumn) as varchar(10))+CAST(month(@datecolumn) as varchar(10)) as d
在上面的代码中我可以得到2019年,但是我想04,但是上面的代码只给我4。
任何人都可以告诉我如何在sql server 2008中获得04。
我已经更新了我正在使用的代码,现在日期来自一个变量。
答案 0 :(得分:2)
您需要将值转换为varchar
,在其前面加上'0'
,并使用最右边的2个字符。
SELECT RIGHT('0' + CONVERT(varchar(2),MONTH(datecolumn)),2);
或者,您可以将值转换为具有样式的varchar
,然后使用SUBSTRING
:
SELECT SUBSTRING(CONVERT(varchar(8),datecolumn,112),5,2);
在这种情况下,样式代码112等同于样式yyyyMMdd
;从中我们可以从位置5(MM
部分)中提取2个字符。
答案 1 :(得分:0)