如何重置SQL Server内置功能(日期)

时间:2019-10-15 01:02:23

标签: sql sql-server

我想更新表[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 个答案:

答案 0 :(得分:1)

DAYSQL 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)