在Sql Server中将日期时间转换为MM/dd/yyyy HH:mm:ss格式

16

如何将给定的日期格式转换为MM/dd/yyyy HH:mm:ss

我尝试了下面这个,但没有成功。有人可以帮帮我吗?

SELECT CONVERT(VARCHAR(20), GETDATE(), 120)

什么是 120 值 - Kiquenet
4个回答

49

支持 SQL Server 2005 及更高版本

SELECT CONVERT(VARCHAR(10), GETDATE(), 101) 
       + ' ' + CONVERT(VARCHAR(8), GETDATE(), 108)

* 请查看Microsoft的文档以了解上述101108样式代码的含义。

支持SQL Server 2012及更高版本。

SELECT FORMAT(GETDATE() , 'MM/dd/yyyy HH:mm:ss')

结果

上述两种方法都将返回:

10/16/2013 17:00:20

@Kiquenet,CONVERT()函数的第三个参数是Style - M.Ali
有没有倒序的方法?我想将这个字符串'08/15/18,12:10:40 PM'从Varchar转换为日期。谢谢您。 - Mukesh Kumar
我强烈建议坚持使用SQL Server 2005解决方案。FORMAT解决方案看起来很方便,但是当你有多个记录时,它会慢很多倍。 - ConfuedProblemSolver

2

请尝试以下方法:

SELECT CONVERT(VARCHAR(20), GETDATE(), 101)

1
使用。
select convert(varchar(10),GETDATE(), 103) + 
       ' '+
       right(convert(varchar(32),GETDATE(),108),8) AS Date_Time

它将产生:

日期时间 30/03/2015 11:51:40


0
Declare @month as char(2)
Declare @date as char(2)
Declare @year as char(4)
declare @time as char(8)
declare @customdate as varchar(20)

set @month = MONTH(GetDate());
set @date = Day(GetDate());
set @year = year(GetDate());

set @customdate= @month+'/'+@date+'/'+@year+' '+ CONVERT(varchar(8), GETDATE(),108);
print(@customdate)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接