我有一个名为 Settings 的表,其中包含 columnA、columnB、columnC、columnD、columnE 及其值,如下所示:
列A = 1000 列B = 100 列C = 200 列D = 18 列E = 6
当时间在晚上 18 点到早上 6 点之间时,我想更改列 A/B/C 中的值。
我正在考虑某种通过查看时间戳来更新值的触发器,但我只是不知道该怎么做。有任何想法吗?
我有一个名为 Settings 的表,其中包含 columnA、columnB、columnC、columnD、columnE 及其值,如下所示:
列A = 1000 列B = 100 列C = 200 列D = 18 列E = 6
当时间在晚上 18 点到早上 6 点之间时,我想更改列 A/B/C 中的值。
我正在考虑某种通过查看时间戳来更新值的触发器,但我只是不知道该怎么做。有任何想法吗?
如果您可以控制读取表格的应用程序,那么您是否可以创建一个视图来检查时间并返回您需要的值?
就像是:
SELECT
[COLUMN1],
CASE
WHEN DATEPART("hh", GETDATE()) BETWEEN 6 AND 14 THEN 1
ELSE [COLUMN2] END AS [COLUMN2],
[COLUMN3]
FROM [TABLE1]
编辑:
如果您通过应用程序中构建的 SQL 查询表,您可以更改 SQL 查询以使用CASE
上述内容返回这些值:
CASE
WHEN DATEPART("hh", GETDATE()) BETWEEN 6 AND 14 THEN 1
ELSE [COLUMN2] END AS [COLUMN2],