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