Установите для поля базы данных DateTime значение " сейчас"


In VB.net код, я создаю запросы с параметрами SQL. Это я установил параметр DateTime в значение DateTime.Итак, как будет выглядеть моя просьба ?

UPDATE table SET date = "2010/12/20 10:25:00";

или

UPDATE table SET date = GETDATE();

в первом случае я уверен, что каждая запись будет установлена в одно и то же время. Во втором случае это зависит от того, как СУБД обрабатывает запрос. Что приводит меня ко второму вопросу : устанавливает ли SQL Server ту же дату и время при обновлении большой таблицы с помощью NOW() ?

EDIT: заменено сейчас () (который не существует в SQL Server) на GETDATE ().

3 67

3 ответа:

в SQL вам нужно использовать GETDATE():

UPDATE table SET date = GETDATE();

нет .


чтобы ответить на ваш вопрос:

в большой таблице, поскольку функция вычисляется для каждой строки, вы получите разные значения для обновленного поля.

Итак, если ваше требование-установить все это на одну и ту же дату, я бы сделал что-то вроде этого (непроверенный):

DECLARE @currDate DATETIME;
SET @currDate = GETDATE();

UPDATE table SET date = @currDate;

альтернативой GETDATE () является CURRENT_TIMESTAMP. Делает то же самое.

использовать GETDATE ()

возвращает текущую систему баз данных timestamp в datetime значение без смещение часового пояса базы данных. Этот значение выводится из операционной система компьютера, на котором запущен экземпляр SQL Server.

UPDATE table SET date = GETDATE()