简体   繁体   English

在 SQL Server 中转换日期格式

[英]To convert date format in SQL Server

How can I convert a date present in format 2017-06-30 23:59:59.000 to JUNE 2017 ?如何将格式为2017-06-30 23:59:59.000的日期转换为JUNE 2017

I need to do this using SQL Query.我需要使用 SQL 查询来做到这一点。

You can use the FORMAT function for this您可以为此使用FORMAT函数

SELECT FORMAT(CAST('2017-06-30 23:59:59.000' AS datetime), 'MMMM yyyy');

Result结果

June 2017

SQL Fiddle SQL小提琴

The DATENAME function will return the Name of the month DATENAME函数将返回月份的名称

SELECT DATENAME(month,'2017-06-30 23:59:59.000')+' '+CAST(YEAR('2017-06-30 23:59:59.000') AS VARCHAR) 'Month Name'
SELECT DATENAME(mm,'2017-06-30 23:59:59.000')+' '+CAST(YEAR('2017-06-30 23:59:59.000') AS VARCHAR) 'Month Name'
SELECT DATENAME(m,'2017-06-30 23:59:59.000')+' '+CAST(YEAR('2017-06-30 23:59:59.000') AS VARCHAR) 'Month Name'

This will return这将返回

June 2017

If you want to get it from a table, then replace the table and column name in the below query.如果要从表中获取它,请替换以下查询中的表和列名。

SELECT DATENAME(month,ColumnName)+' '+CAST(YEAR(ColumnName) AS VARCHAR) 'Month Name' 
FROM TabeName

The DATENAME function in sql server returns the name of the month. sql server 中的 DATENAME 函数返回月份的名称。

SELECT DATENAME(MM, GETDATE()) + ' ' + CAST(YEAR(GETDATE()) AS VARCHAR()) AS 
                                                                   [Month YYYY]

For more information you can refer: http://www.sql-server-helper.com/tips/date-formats.aspx有关更多信息,您可以参考: http : //www.sql-server-helper.com/tips/date-formats.aspx

Here is the best answer for MS SQL.这是 MS SQL 的最佳答案。

Create table Test(
SampleDate datetime
)
insert into Test(SampleDate)values('07/20/2021 10:20:05'),('08/21/2021 20:30:11')

Here is your query to get the format这是您获取格式的查询

select FORMAT(SampleDate, 'MMMM yyyy') YourFormat from Test
--select FORMAT(SampleDate, 'MM/dd/yyyy hh:mm tt') EditedDate from Test

You can see the output here.你可以在这里看到输出。

Above query return the following output:以上查询返回以下输出:

July 2021 2021 年 7 月

August 2021 2021 年 8 月

SELECT DATE_FORMAT(column_name, "%M %Y") as alias_column_name FROM tabel_name SELECT DATE_FORMAT(column_name, "%M %Y") as alias_column_name FROM tabel_name

Example例子

SELECT DATE_FORMAT(created_at, "%M %Y") as created_at FROM tabel1 SELECT DATE_FORMAT(created_at, "%M %Y") as created_at FROM tabel1

use sql's DATE_FORMAT(date, format) function.使用 sql 的DATE_FORMAT(date, format)函数。

https://www.w3schools.com/mysql/func_mysql_date_format.asp <- visit this website. https://www.w3schools.com/mysql/func_mysql_date_format.asp <- 访问此网站。

https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/ <- Date and Time Conversions Using SQL Server https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/ <-使用 SQL Server 进行日期和时间转换

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM