简体   繁体   中英

SQL Server default date time stamp?

I have a field that when something is inserted I want it to get the current Date & Time and insert this into the database. Is there a way to get the date & time, and set it as the default value?

Currently the default value is: (getdate()) Which sets only the date. How do I also set the time?

GETDATE() is a date and time in SQL Server.

Run SELECT GETDATE() to verify this.

What is the datatype of your field? If it's DATE then it will not hold time values as well.

One easy way is to give the field a default constraint:

create table YourTable 
    (
    ... other columns ...
    CreateDt datetime default getdate(),
    ... other columns ...
    )

A disadvantage of this method is that you can overwrite the value by specifying it in an insert clause.

Personally I would like to use GETUTCDATE() instead GETDATE() to avoid confusions.

SYSDATETIME() will get the current date and time.

Make sure the data type of the column is datetime , and not just date or it won't be able to hold a datetime.

Most SQL implementations (engines) do have CURRENT_TIMESTAMP function.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM