Допустим, вы создали таблицу базы данных для системы регистрации.
IF OBJECT_ID('dbo.registration_demo', 'U') IS NOT NULL
DROP TABLE dbo.registration_demo;
CREATE TABLE dbo.registration_demo (
id INT IDENTITY PRIMARY KEY,
name NVARCHAR(8)
);
Сейчас пара человек регистрируется.
INSERT INTO dbo.registration_demo (name) VALUES
('John'),('Jane'),('Jeff');
Затем вы понимаете, что вам нужна временная метка, когда они регистрируются.
Если это приложение ограничено географически локализованным регионом, то вы можете использовать время локального сервера с GETDATE()
. В противном случае вы должны прислушаться к мнению Таннера о глобальной аудитории с GETUTCDATE()
использованием значения по умолчанию.
Добавьте столбец со значением по умолчанию в одном утверждении, как этот ответ .
ALTER TABLE dbo.registration_demo
ADD time_registered DATETIME DEFAULT GETUTCDATE();
Давайте возьмем другого владельца регистрации и посмотрим, как выглядят данные.
INSERT INTO dbo.registration_demo (name) VALUES
('Julia');
SELECT * FROM dbo.registration_demo;
id name time_registered
1 John NULL
2 Jane NULL
3 Jeff NULL
4 Julia 2016-06-21 14:32:57.767