如何将值从位列复制到datetime列?

时间:2015-06-10 09:04:33

标签: sql sql-server datetime sql-server-2012

我想将表格bit中名为“缺席”的Person列中的值复制到我刚刚制作的新的空datetime列。

bit类型列包含值为null,0和1的行。

现在,我想将此bit列的值复制到新的datetime列,以便bit列中的所有空AND 0值都为空值在datetime列中。所有1个值都是新的当前日期。

怎么做?我试图搜索w3bschools的一些例子,但找不到任何。

3 个答案:

答案 0 :(得分:1)

嗯,你可以这样做:

update Person
set dateTime_Column = case when isnull(absent, 0) = 0 then null else getdate() end

答案 1 :(得分:1)

试试这个:

update someTable
set dateColumn = case when bitColumn is null or bitColumn = 0 then null else getdate() end

答案 2 :(得分:0)

如果在创建新列时未使用默认值,则实际上只需更新bitColumn = 1的行并将其他行保留为空。

update Person
set dateTime_Column = getdate()
where bitColumn = 1