从datetime删除秒数

时间:2014-06-27 12:56:47

标签: sql database sql-server-2008-r2

我的查询如下:

select  
 lower(convert(varchar(10), GETDATE(), 101) +
 ' '+ 
 substring(convert(varchar(20), GETDATE(), 22),9,Len(GETDATE())))

在此查询中,我得到的结果为:

06/27/2014   6:23:57 pm

我只是想从上面删除秒(即57)。

我的意图结果是:

06/27/2014   6:23 pm

我怎样才能获得它?

我尝试在查询中添加长度:

select  
 lower(convert(varchar(10), GETDATE(), 101) +
 ' '+ 
 substring(convert(varchar(20), GETDATE(), 22),9,Len(GETDATE())+1))

但它没有帮助。

Plase帮助我。

3 个答案:

答案 0 :(得分:4)

尝试以下

 SELECT CAST(DATEPART(DD,GETDATE()) AS VARCHAR)+'/'
+CAST(DATEPART(MM,GETDATE()) AS VARCHAR)
+'/'+CAST(DATEPART(YYYY,GETDATE()) AS VARCHAR)
+' '+CAST(DATEPART(HH,GETDATE()) AS VARCHAR)
+':'+CAST(DATEPART(MI,GETDATE()) AS VARCHAR)

另请参阅此Custom Date/Time formatting in SQL Server

答案 1 :(得分:1)

试试这个!

select  
lower(convert(varchar(10), GETDATE(), 101) +
' '+ 
LEFT((substring(convert(varchar(20), GETDATE(), 22),9,Len(GETDATE())+1)), 6)
+
(RIGHT(substring(convert(varchar(20), GETDATE(), 22),9,Len(GETDATE())+1),2)))

答案 2 :(得分:1)

declare @date datetime

select @date = GetDate()

select convert(nvarchar, @date, 101) + ' ' + right(convert(nvarchar, @date, 100), 6)