sql - 仅通过月份名称获取月份编号

标签 sql sql-server sql-server-2008

当我只知道月份名称时,我想获取月份号。 (如果月份名称一月应返回 1)

我尝试过这个。

SELECT DATEPART(MM,'january 01 2011')

但在这里我想传递整个日期值(2011 年 1 月 1 日)。但我只需要传递月份名称。 (不使用“大小写”)

有什么办法可以做到这一点吗?

最佳答案

您可以传递月份名称并附加 01 2011 (或您希望的任何其他日期 + 年份),如下所示:

@declare monthName varchar(20);
@set monthName = 'january';

SELECT DATEPART(MM,monthName+' 01 2011')

SELECT MONTH(monthName+' 01 2011')

关于sql - 仅通过月份名称获取月份编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27737073/

相关文章:

sql - 返回连续日期的临时表

sql-server - 使用SSIS包导入数据后如何移动文本文件?

sql-server-2008 - "TOP"关键字的 SQL Server 2008 自动完成

sql - 在这种情况下,Redis 是一个不错的选择吗?

sql - 如何解决杀死/回滚状态问题

android - 同时使用两个不同的基准计算距离

C# SqlKata 引擎更新查询似乎没有执行

php - Doctrine 2 : Can't update DateTime column on SQL Server 2008apm

mysql - 通过带有联接或分组依据的 SQL 请求返​​回过去

sql - mySQL - 合并两个表的查询