从time数据类型中删除毫秒还有:是否有一个毫秒级的时间数据类型?

时间:2013-03-07 06:15:34

标签: sql-server-2008 types time type-conversion

我在问题中看过如何从MS SQL中的datetime数据类型中删除毫秒的帖子。

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

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

全部谢谢!

3 个答案:

答案 0 :(得分:15)

  

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

SELECT CONVERT(VARCHAR, GETDATE(), 20) 
  

如果您不想包含毫秒:

TIME(0) will help
  

实施例

CAST(DATEADD(second, SUM(hora), '00:00:00') AS time(0))

答案 1 :(得分: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(),这个解决方案很糟糕,因为当MSSQL Server有字母月份时,mysql会返回所有整数。

答案 2 :(得分:0)

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

格式返回时间