Вставить текущую дату в столбец даты с использованием T-SQL?
Я пытаюсь вставить дату, когда пользователь решает отключить или активировать UserID. Я пытаюсь использовать SP для запуска этого, но при этом это сложнее, чем я думал, что это будет.
Я могу сделать
SELECT GETDATE()
чтобы получить дату, но есть ли способ вставить эту информацию из GETDATE и поместить ее в нужный столбец?
Ответы
Ответ 1
Несколько способов. Во-первых, если вы добавляете строку каждый раз при активации [de], вы можете установить столбец по умолчанию GETDATE() и не устанавливать значение во вставке. В противном случае,
UPDATE TableName SET [ColumnName] = GETDATE() WHERE UserId = @userId
Ответ 2
Чтобы вставить новую строку в заданную таблицу (tblTable):
INSERT INTO tblTable (DateColumn) VALUES (GETDATE())
Чтобы обновить существующую строку:
UPDATE tblTable SET DateColumn = GETDATE()
WHERE ID = RequiredUpdateID
Обратите внимание, что при INSERT
в новой строке вам понадобятся любые ограничения, которые находятся в таблице - скорее всего это ограничение NOT NULL
- поэтому вам может потребоваться предоставить значения для других столбцов, например...
INSERT INTO tblTable (Name, Type, DateColumn) VALUES ('John', 7, GETDATE())
Ответ 3
UPDATE Table
SET DateColumn=GETDATE()
WHERE [email protected]
Если вы вставляете в таблицу и всегда должны указывать текущую дату, я бы рекомендовал установить GETDATE()
в качестве значения по умолчанию для этого столбца и не разрешать NULL
Ответ 4
Если вы хотите хранить информацию в таблице, вам нужно использовать инструкцию INSERT или UPDATE. Похоже, вам нужен оператор UPDATE:
UPDATE SomeTable
SET SomeDateField = GETDATE()
WHERE SomeID = @SomeID
Ответ 5
Вы можете использовать getdate() по умолчанию, как это показано в в вопросе, принятом в вопросе SO. Таким образом, вы не указываете дату, вы просто вставляете остальные, и эта дата является значением по умолчанию для столбца.
Вы также можете указать его в списке значений вашей вставки и сделать это вручную, если хотите.