转换sqlserver中的日期时间,如yyyy-mm-dd hh:mi:ss to yyyy-mm-dd 23:59:59

时间:2015-08-17 11:34:01

标签: sql sql-server date datetime

您好我想转换日期时间,如下2015-05-12 23:59:59。小时和秒应该像12:59:59这样。

例如:我想将今天的日期转换为2015-08-17 23:59:59以下的日期。

被修改

对于sql server中的GETDATE()我会得到这样的日期时间2015-08-17 17:10:54.080这个我要转换成2015-08-17 23:59:59.080

4 个答案:

答案 0 :(得分:4)

似乎这个问题与格式无关。所以这里有一个获得当天最后时间戳的解决方案:

获取当天的最后一分钟:

SELECT dateadd(d, datediff(d, 0, getdate()), cast('23:59:59' as datetime))

返回:

2015-08-17 23:59:59.000

获取当天的最后一个时间戳:

SELECT dateadd(d, datediff(d, 0, getdate()), cast('23:59:59:997' as datetime))
2015-08-17 23:59:59.997

答案 1 :(得分:1)

您需要在此处使用convert(),请尝试以下查询

SELECT CONVERT(char(19), GetDate(),121)

输出

2015-08-17 11:37:29

答案 2 :(得分:1)

您可以使用CASTTIME(0)以下列格式返回时间: HH:mm:ss

SELECT CAST('2015-08-17 12:59:59' AS TIME(0))

<强>输出

12:59:59

<强> CORRECTION

之前误解了您的问题,因此提供了如何仅按照以下格式获取时间,日期和时间:yyyy-MM-dd HH:mm:ss您可以在以下内容中使用:

SELECT CONVERT(CHAR(19), '2015-08-17 12:59:59.154', 20)

<强>输出

2015-08-17 12:59:59

答案 3 :(得分:1)

SQL Server 2005及更高版本

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

SQL Server 2012及更高版本

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

要么返回:

2015-08-17 12:42:25