【发布时间】:2018-05-10 06:09:41
【问题描述】:
SQL Server 2012:是否可以在 select 语句中插入数据,但如果前一列已填充,则将数据插入下一列?
我有一个包含许多列来存储日期的表,我想从另一个表中获取数据并插入到下一个可用的空日期列中。
【问题讨论】:
标签: sql sql-server-2012 sql-insert
SQL Server 2012:是否可以在 select 语句中插入数据,但如果前一列已填充,则将数据插入下一列?
我有一个包含许多列来存储日期的表,我想从另一个表中获取数据并插入到下一个可用的空日期列中。
【问题讨论】:
标签: sql sql-server-2012 sql-insert
如果您说上一列已经填充,那么您确实在寻找某种更新。试试这个:
UPDATE yourTable
SET
col1 = CASE WHEN col1 IS NULL THEN 'value' ELSE col1 END,
col2 = CASE WHEN col1 IS NOT NULL THEN 'value' ELSE col2 END;
这里的逻辑就是你所描述的,即我们尝试用一些值更新col1。如果该列为空,我们会进行更新,否则我们会更新 col2。
【讨论】: