如何在SQL中获取当前日期时间?
想要获取当前日期时间以插入lastModifiedTime列。我正在使用MySQL数据库。我的问题是:如何在SQL中获取当前日期时间?
是否有SQL中可用的函数?或
它是实现依赖,所以每个数据库都有它自己的功能呢?
MySQL中可用的函数是什么?
完整回答:
1.是否有一个功能,可以在SQL?
是的,SQL 92规范,10月97日,页。 171,第6.16节指定该功能:
CURRENT_TIME Time of day at moment of evaluation
CURRENT_DATE Date at moment of evaluation
CURRENT_TIMESTAMP Date & Time at moment of evaluation
二是实现取决于所以每个数据库都有自己的功能呢?
每个数据库都有自己的实现,但他们必须执行,如果他们符合SQL 92规范上述三种功能(而是取决于版规范)
3.什么是功能可用MySQL的?
NOW() returns 2009-08-05 15:13:00
CURDATE() returns 2009-08-05
CURTIME() returns 15:13:00
(如SixFootTallRabbit说)
对于SQL Server使用GetDate()或current_timestamp。您可以使用Convert(dataType,value,format)格式化结果。用正确的数据库服务器标记您的问题。
我始终只使用NOW():
INSERT INTO table (lastModifiedTime) VALUES (NOW())
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_now
我希望我的日期时间,我希望它now()!
对于MySQL,无论如何。
这太可爱了......虽然没有与微软合作:“我想要我的约会,而我想要GetDate()!” – 2009-08-05 14:30:02
当然可以。 “好吧,先生,你从现在开始就可以GetDate()!” – 2009-08-05 15:06:16
NOW()返回2009-08-05 15点13分00秒
CURDATE()返回2009-08-05
CURTIME()返回15点13分00秒
- GETDATE()或GETUTCDATE()现在被更丰富的SYSDATETIME,SYSUTCDATETIME和SYSDATETIMEOFFSET(在SQL 2008中)取代
- 是的,我不认为ANSI曾经声明过任何东西,所以每个制造商都有自己的。
- 这将是NOW()
希望这有助于...
罗布
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
我猜NOW()不工作一段时间,并给出错误'现在' 是无法识别的内置函数名称。
希望它有帮助!谢谢。 https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
如果ANSI-SQL要求这些基本系统功能在不同平台上一致地命名,那不是很好吗?标准化(子字符串或substr)或(IsNull或NVL)。 – Bill 2009-08-05 14:35:52