Как сбросить встроенную функцию SQL Server (ДЕНЬ) - PullRequest
1 голос
/ 15 октября 2019

Я хотел обновить свой столбец в таблице с именем [DAY] и не осознавал, что была также встроенная функция DAY. Поэтому я случайно обновил значение DAY, вместо этого оно показало 'N.A', то есть значение, которое я установил.

Я попытался выполнить поиск в Google, но совпадений не найдено, попытался найти встроенные функции наSQL Server, но безрезультатно.

Код обновления был таким:

UPDATE v_ClassroomOccupancy SET
  [DAY] = (CASE WHEN (LocalTime NOT BETWEEN CLASSSTARTDATE AND CLASSENDDATE) THEN 'N.A' ELSE DAY END)

Как можно сбросить или установить для DAY встроенной функции значение по умолчанию?

1 Ответ

1 голос
/ 15 октября 2019

DAY является зарезервированным ключевым словом в SQL Server, поскольку вы уже назвали свой столбец как DAY, убедитесь, что заключили его в квадратные скобки [] каждый раз, когда используете этот столбец.

UPDATE v_ClassroomOccupancy SET

[DAY]=(CASE WHEN(LocalTime NOT BETWEEN CLASSSTARTDATE AND CLASSENDDATE) THEN 'N.A' ELSE [DAY] END)

Чтобы сбросить ваш [DAY] столбец, используйте функцию getdate(), чтобы получить текущий datetime

UPDATE v_ClassroomOccupancy SET

[DAY]=(CASE WHEN GETDATE() NOT BETWEEN CLASSSTARTDATE AND CLASSENDDATE THEN 'N.A' ELSE datename(dw, GETDATE()) END)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...