【发布时间】:2013-02-22 06:00:33
【问题描述】:
我在问题中看到了有关如何从 MS SQL 中的日期时间数据类型中删除毫秒数的帖子。
但是时间数据类型呢?从时间数据类型中删除毫秒的最简单方法是什么?
另外:MS SQL (2008) 中是否有任何时间数据类型不包括毫秒?
谢谢大家!
【问题讨论】:
标签: sql-server-2008 types time type-conversion
我在问题中看到了有关如何从 MS SQL 中的日期时间数据类型中删除毫秒数的帖子。
但是时间数据类型呢?从时间数据类型中删除毫秒的最简单方法是什么?
另外:MS SQL (2008) 中是否有任何时间数据类型不包括毫秒?
谢谢大家!
【问题讨论】:
标签: sql-server-2008 types time type-conversion
删除毫秒的最简单方法之一是:
SELECT CONVERT(VARCHAR, GETDATE(), 20)
如果你不想包括毫秒:
TIME(0) will help
例子
CAST(DATEADD(second, SUM(hora), '00:00:00') AS time(0))
【讨论】:
如果您只想返回 sql server 2005 中的时间,您可以使用带有转换的子字符串函数,即 SELECT SUBSTRING(CONVERT(VARCHAR,GETDATE(),20),12,8)。 这将以 hh:mm:ss 格式返回时间。
【讨论】:
我为 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 有字母月份。
【讨论】: