7

我已经看到有关如何从 MS SQL 中的日期时间数据类型中删除毫秒的问题中的帖子。

但是时间数据类型呢?从时间数据类型中删除毫秒的最简单方法是什么?

另外:MS SQL(2008)中是否有任何不包括毫秒的时间数据类型?

谢谢大家!

4

3 回答 3

17

删除毫秒的最简单方法之一是:

SELECT CONVERT(VARCHAR, GETDATE(), 20) 

如果你不想包括毫秒:

TIME(0) will help

例子

CAST(DATEADD(second, SUM(hora), '00:00:00') AS time(0))
于 2013-03-07T06:26:18.507 回答
0

我为 MS SQL Server 2005 解决这个问题所做的是

create table mytable (Date varchar(11))

insert into mydb.mytable select GETDATE() as Date;

这会在年份部分的最后一个数字之后减少一些来自 GETDATE() 的值。即“2014 年 1 月 9 日”。

编辑:要清楚, varchar(11) 是这里的解决方案。

编辑:如果你必须加入 mysql CURDATE(),这个解决方案很糟糕,因为 mysql 返回所有整数,而 MSSQL Server 有字母月份。

于 2014-01-10T00:18:14.397 回答
0

如果您只想在 sql server 2005 中返回时间,您可以使用带有转换的子字符串函数,即 SELECT SUBSTRING(CONVERT(VARCHAR,GETDATE(),20),12,8)。这将以 hh:mm:ss 格式返回时间。

于 2014-09-24T13:19:34.800 回答