问题
Want to get current datetime
to insert into lastModifiedTime
column. I am using MySQL
database. My questions are:
is there a function available in SQL? or
it is implementation depended so each database has its own function for this?
what is the function available in MySQL?
回答1:
Complete answer:
1. Is there a function available in SQL?
Yes, the SQL 92 spec, Oct 97, pg. 171, section 6.16 specifies this functions:
CURRENT_TIME Time of day at moment of evaluation
CURRENT_DATE Date at moment of evaluation
CURRENT_TIMESTAMP Date & Time at moment of evaluation
2. It is implementation depended so each database has its own function for this?
Each database has its own implementations, but they have to implement the three function above if they comply with the SQL 92 specification (but depends on the version of the spec)
3. What is the function available in MySQL?
NOW() returns 2009-08-05 15:13:00
CURDATE() returns 2009-08-05
CURTIME() returns 15:13:00
(As SixFootTallRabbit says)
回答2:
I always just use NOW():
INSERT INTO table (lastModifiedTime) VALUES (NOW())
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_now
回答3:
NOW()
returns 2009-08-05 15:13:00
CURDATE()
returns 2009-08-05
CURTIME()
returns 15:13:00
回答4:
I want my datetime, and I want it now()!
For MySQL, anyway.
回答5:
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
I guess NOW() doesn't work sometime and gives error 'NOW' is not a recognized built-in function name.
Hope it helps!!! Thank You. https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
回答6:
For SQL Server use GetDate() or current_timestamp. You can format the result with the Convert(dataType,value,format). Tag your question with the correct Database Server.
回答7:
Just an add on for SQLite you can also use
CURRENT_TIME CURRENT_DATE CURRENT_TIMESTAMP
for the current time, current date and current timestamp. You will get the same results as for SQL
sql sqlite
回答8:
GETDATE()
orGETUTCDATE()
are now superseded by the richerSYSDATETIME
,SYSUTCDATETIME
, andSYSDATETIMEOFFSET
(in SQL 2008)- Yes, I don't think
ANSI
has ever declared anything, and so each manufacturer has their own. - That would be
NOW()
Hope this helps...
Rob
来源:https://stackoverflow.com/questions/1233506/how-to-get-current-datetime-in-sql