首页 > 解决方案 > 如何从日期中选择MM

问题描述

我有一个日期20190412,我想选择月份和年份。

下面是我用来获取年份和月份的代码

Select CAST(YEAR(@datecolumn) as varchar(10))+CAST(month(@datecolumn) as varchar(10)) as d

在上面的代码中,我能够得到 2019 年,但我想要 04 但上面的代码只给了我 4。

谁能告诉我如何在 sql server 2008 中获得 04。

我已经更新了我正在使用的代码,现在日期来自一个变量。

标签: sql-server

解决方案


您需要将值转换为 a varchar,在其前面加上 a '0',并取最右边的 2 个字符。

SELECT RIGHT('0' + CONVERT(varchar(2),MONTH(datecolumn)),2);

或者,您可以将值转换为varchar带有样式的 a,然后使用SUBSTRING

SELECT SUBSTRING(CONVERT(varchar(8),datecolumn,112),5,2);

在这种情况下,样式代码 112 等同于样式yyyyMMdd;我们可以从中获取位置 5(MM部分)的 2 个字符。


推荐阅读