【发布时间】:2011-05-19 10:12:43
【问题描述】:
我有一个包含datetime 列的表。我想以日期-月-年的形式显示日期。我使用的是 SQL Server 2008。
【问题讨论】:
标签: sql sql-server datetime format
我有一个包含datetime 列的表。我想以日期-月-年的形式显示日期。我使用的是 SQL Server 2008。
【问题讨论】:
标签: sql sql-server datetime format
您需要转换日期时间列
select convert(varchar,datecolumn,103) from yourtable
【讨论】:
一些日期时间转换:
SELECT convert(datetime, '10/23/2016', 101) -- mm/dd/yyyy
SELECT convert(datetime, '2016.10.23', 102) -- yyyy.mm.dd
SELECT convert(datetime, '23/10/2016', 103) -- dd/mm/yyyy
SELECT convert(datetime, '23.10.2016', 104) -- dd.mm.yyyy
SELECT convert(datetime, '23-10-2016', 105) -- dd-mm-yyyy
SELECT CONVERT(VARCHAR(10), GETDATE(), 111) AS [YYYY/MM/DD]
/* YYYY/MM/DD
2015/07/11 */
SELECT CONVERT(VARCHAR(10), GETDATE(), 112) AS [YYYYMMDD]
/* YYYYMMDD
20150711 */
-- SQL 将日期字符串转换为日期时间 - 时间设置为 00:00:00.000 或 12:00AM
PRINT CONVERT(datetime,'07-10-2012',110) -- Jul 10 2012 12:00AM
PRINT CONVERT(datetime,'2012/07/10',111) -- Jul 10 2012 12:00AM
PRINT CONVERT(datetime,'20120710', 112) -- Jul 10 2012
你可以从here学习所有的DateTime转换
【讨论】:
FORMAT 可以用于此;
SELECT FORMAT(GETDATE(), 'dd-MM-yyyy') --20-09-2021
在你的情况下;
SELECT FORMAT(datetime, 'dd-MM-yyyy') AS datetime --20-09-2021
编辑; 很抱歉,我刚刚看到您提到 SQL Server 2008,此代码适用于 SQL Server 2012,适用于那些使用 2012 并最终出现在这里的人!
【讨论】: