Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从日期时间类型中仅选择月份的名称_Sql Server_Datetime - Fatal编程技术网

Sql server 从日期时间类型中仅选择月份的名称

Sql server 从日期时间类型中仅选择月份的名称,sql-server,datetime,Sql Server,Datetime,我正在处理一个小的SQL查询,它应该返回月份的全名而不是编号。 我可以使用sqlserver中的DATEPART返回数字,但无法返回其全名,如下所示 SELECT DATEPART(MONTH, Delivery) AS Delivery FROM Deals 上面的查询返回1,其中我想返回“一月” 有更好的解决方法吗?使用函数,该函数返回一个字符串,该字符串表示指定日期的指定日期部分 SELECT DATENAME(MONTH, Delivery) AS Delivery FROM Deal

我正在处理一个小的SQL查询,它应该返回月份的全名而不是编号。 我可以使用
sqlserver
中的
DATEPART
返回数字,但无法返回其全名,如下所示

SELECT DATEPART(MONTH, Delivery) AS Delivery FROM Deals
上面的查询返回1,其中我想返回“一月”

有更好的解决方法吗?

使用函数,该函数返回一个字符串,该字符串表示指定日期的指定日期部分

SELECT DATENAME(MONTH, Delivery) AS Delivery FROM Deals
或者如果您想要
短月名或自定义月名
,并且如果您使用的是
SQL SERVER 2012+
,请使用

SELECT Choose(Datepart(MONTH, Delivery), 'Jan', 'Feb', 'Mar', 'April', 'May', 
   'Jun','Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec') AS Delivery
FROM   Deals 

您可以这样使用
Datename

选择DATENAME(mm,Delivery)作为来自交易的交付

它返回表示指定日期的指定日期部分的字符串

SELECT DATENAME(MONTH, Delivery) AS Delivery FROM Deals
MSDN-