什么是“现在”在SQL Server中?

时间:2011-10-15 13:28:12

标签: sql-server

我想在SQL Server中将我的日期时间字段的默认值设置为now,这是什么?

我试过了NOW()

4 个答案:

答案 0 :(得分:8)

MSDN详细回答http://msdn.microsoft.com/en-us/library/ms188751.aspx

这个链接还包括各种方式来获取时间和日期,这有时是人们在问及什么时候才真正想到的日期()

SELECT SYSDATETIME()
    ,SYSDATETIMEOFFSET()
    ,SYSUTCDATETIME()
    ,CURRENT_TIMESTAMP
    ,GETDATE()
    ,GETUTCDATE();
/* Returned:
SYSDATETIME()      2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME()   2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP  2007-04-30 13:10:02.047
GETDATE()          2007-04-30 13:10:02.047
GETUTCDATE()       2007-04-30 20:10:02.047

答案 1 :(得分:4)

有几种方法可以做到这一点。

SELECT GETDATE(),
       CURRENT_TIMESTAMP, /*ANSI SQL equivalent of GetDate*/
       SYSDATETIME() /*2008 - Returns datetime2 with greater precision*/

答案 2 :(得分:2)

修改:这两项功能({fn Now()}, CURRENT_TIMESTAMP)都已翻译为GETDATE()

如果需要,可以使用Now()中的SQL Server功能作为ODBC function

SELECT {fn Now()} -- Current date/time or SQL Server functions GETDATE() / CURRENT_TIMESTAMP (this function is also ODBC function)
        ,{fn CURDATE()} - Current date
        ,{fn CURTIME()} - Current time

结果:

----------------------- ---------- ------------------------------
2011-10-15 17:07:39.300 2011-10-15 17:07:39.300

答案 3 :(得分:1)

GETDATE

SELECT GETDATE() AS X