Sql server 2005 如何将getdate格式化为YYYYMMDDHHmmSS

Sql server 2005 如何将getdate格式化为YYYYMMDDHHmmSS,sql-server-2005,getdate,Sql Server 2005,Getdate,在SQL Server中,如何将getdate()输出格式化为YYYYMMDDHHmmSS其中HH是24小时格式 我已经完成了YYYYMMDD的 select CONVERT(varchar,GETDATE(),112) 但这就是我所能做到的 谢谢。很接近,但不是你想要的: select CONVERT(varchar, GETDATE(), 126) e、 g (yyyy-mm ddThh:mi:ss.mmm(无空格),ISO8601无时区) 参考: 无法使用CONVERT()指定自定义格

在SQL Server中,如何将
getdate()
输出格式化为
YYYYMMDDHHmmSS
其中
HH
是24小时格式

我已经完成了YYYYMMDD的

select CONVERT(varchar,GETDATE(),112)
但这就是我所能做到的


谢谢。

很接近,但不是你想要的:

select CONVERT(varchar, GETDATE(), 126)
e、 g

(yyyy-mm ddThh:mi:ss.mmm(无空格),ISO8601无时区)

参考:

无法使用
CONVERT()
指定自定义格式。另一个选项是执行字符串操作以创建所需的格式。

尝试以下操作:

选择CONVERT(varchar,GETDATE(),120) e、 g

2011-09-23 12:18:24 (yyyy-mm-dd-hh:mi:ss(24小时),ODBC规范)


Hth.

对于任何搜索此功能的SQL Server 2012用户,您可以使用格式功能:

SELECT FORMAT ( GETDATE(), 'yyyyMMddHHmmss') AS 'Custom DateTime'

这允许任何.NET格式的字符串使其成为有用的新添加。

以这种方式转换datetime需要多次调用才能转换。最好的用法是在返回varchar的函数中

select CONVERT(varchar,GETDATE(),112) --YYYYMMDD
select CONVERT(varchar,GETDATE(),108) --HH:MM:SS
在函数中这样将它们放在一起

DECLARE @result as varchar(20)
set @result = CONVERT(varchar,GETDATE(),112) + ' ' + CONVERT(varchar,GETDATE(),108)
print @result
20131220 13:15:50

正如Thinhbk发布的那样,您可以使用
selectconvert(varchar,getdate(),20)
selectconvert(varchar,getdate(),120)
非常接近您想要的内容。

另一个选项

SELECT CONVERT(nvarchar(8), GETDATE(),112) + 
   CONVERT(nvarchar(2),DATEPART(HH,GETDATE())) + 
   CONVERT(nvarchar(2),DATEPART(MI,GETDATE())) + 
   CONVERT(nvarchar(2),DATEPART(SS,GETDATE()));

+1-非常有用。现在您可以使用.net framework中的所有这些datetime.tostring格式。谢谢,为我工作!
DECLARE @result as varchar(20)
set @result = CONVERT(varchar,GETDATE(),112) + ' ' + CONVERT(varchar,GETDATE(),108)
print @result
SELECT CONVERT(nvarchar(8), GETDATE(),112) + 
   CONVERT(nvarchar(2),DATEPART(HH,GETDATE())) + 
   CONVERT(nvarchar(2),DATEPART(MI,GETDATE())) + 
   CONVERT(nvarchar(2),DATEPART(SS,GETDATE()));
select CONVERT(nvarchar(8),getdate(),112) + 
case when Len(CONVERT(nvarchar(2),DATEPART(HH,getdate()))) =1 then '0' + CONVERT(nvarchar(2),DATEPART(HH,getdate())) else CONVERT(nvarchar(2),DATEPART(HH,getdate())) end +
case when Len( CONVERT(nvarchar(2),DATEPART(MI,getdate())) ) =1 then '0' + CONVERT(nvarchar(2),DATEPART(MI,getdate())) else CONVERT(nvarchar(2),DATEPART(MI,getdate())) end