SQL Serv er 如何进行时间比较的代码实例 SQL Server 如何进行时间比较的代码实例 例子: select count(*) from table where DATEDIFF ([second], '2004-09-18 00:00:18', '2004-09-18 00:00:19') > 0 说明 select DATEDIFF(day, time1 , time2) 对应示例语句如下 select DATEDIFF(day, '2010-07-23 0:41:18', '2010-07-23 23:41:18') time1 > time2 为负数; time1 < time2 为正数; [day] :只会比较 2010-07-23 忽略 0:41:18' 其他同理 以下分别: 年: SELECT DATEDIFF([year],time1 , time2) 返回值: -6 ,说明是后减前 与 mysql 教程 相反的。 月: SELECT DATEDIFF([month], time1 , time2) 天: SELECT DATEDIFF([day], time1 , time2) 小时: SELECT DATEDIFF([hour], time1 , time2) 秒: SELECT DATEDIFF([second], time1 , time2) 通过函数GETDATE(),你可以获得当前的日期和时间。函数GETDATE()可以用来作为DATEDIME 型字段的缺省值。这对插入记录时保存当时 的时间是有用的。要建立一个表,其中的记录包含有当前的日期和时间,可以添加一个 DATETIME 型字段,指定其缺省值为函数GETDATE()的返回 值,就象这样: CREATE TABLE site_log ( username VARCHAR(40), useractivity VARCHAR(100), entrydate DATETIME DEFAULT GETDATE()) 转换日期和时间 函数GETDATE()的返回值在显示时只显示到秒。实际上,SQL Sever 内部时间可以精确到毫秒级(确切地说,可以精确到3.33 毫秒)。 要得到不同格式的日期和时间,你需要使用函数CONVERT()。例如,当下面的这个语句执行时,显示的时间将包括毫秒: SELECT CONVERT(VARCHAR(30),GETDATE(),9) 注意例子中数字 9 的使用。这个数字指明了在显示日期和时间时使用哪种日期和时间格式。当这个语句执行时,将显示如下的日期和时间: Nov 30 1997 3:29:55:170AM (1 row(s) affected) 在函数CONVERT()中你可以使用许多种不同风格的日期和时间格式。下表显示了所有的格式。 日期和时间的类型: 类型值 标准 输出 0 Default mon dd yyyy hh:miAM 1 USA mm/dd/yy 2 ANSI yy.mm.dd 3 British/French dd/mm/yy 4 German dd.mm.yy 5 Italian dd-mm-yy 6 - dd mon yy 7 - mon dd,yy 8 - hh:mi:ss 9 Default + milliseconds--mon...