以下是数据
Mon, 02 Nov 2015 05:00
NULL 06:00
NULL 07:00
NULL 08:00
NULL 09:00
NULL 10:00
NULL 11:00
NULL 12:00
NULL 13:00
NULL 14:00
NULL 15:00
NULL 16:00
NULL 17:00
Tue, 03 Nov 2015 06:00
NULL 07:00
NULL 08:00
NULL 09:00
NULL 10:00
NULL 11:00
NULL 12:00
NULL 13:00
NULL 14:00
NULL 15:00
NULL 16:00
NULL 17:00
我想将NULL值替换为第1行的值作为日期。该表包含多个日期的此类数据。当该特定日期的数据开始时,它包含该值为空的日期值。第二列描述了那一天的时间。
请帮助。拉吉夫
答案 0 :(得分:0)
以下可能有效。我没有表格来测试它,而SQLFiddle
正在抛出错误(因为它有一些内部问题)。试试并报告:
UPDATE sample
SET date =
(SELECT TOP 1 b.date
FROM sample AS b)
FROM sample AS a
WHERE a.date IS NULL;
基本上,您是SELECTING
表中的date
字段,限制为仅 1行(因此仅限第一行)并使用该值更新剩余的date
值为NULL
修改强>
刚看到OP更新了他的问题。我的代码段建议将失败。因为它会在第一次出现日期时更新所有行。但OP在日期栏中可能有多个日期。