SQL - 基于if命令的默认值

时间:2011-04-19 14:45:16

标签: sql sql-server sql-server-2005

我有一个带有一个String列的表。 我想插入另一列null,如果String列已填充,则已插入数据库的行的值将填充“y”或“n”。 有可能吗?

实际上它没有默认值。我只需要知道是否可以根据if命令设置这些值

3 个答案:

答案 0 :(得分:3)

您可以添加计算列:

ALTER TABLE
        mytable
ADD     is_string_filled AS (CASE WHEN string_field IS NULL THEN 'N' ELSE 'Y' END)

答案 1 :(得分:3)

//You can implement this in a select query as well instead of adding a column.
select strColumn, 
CASE 
    WHEN strColumn is null THEN 'N'
    ELSE 'Y'
END as colCheck

FROM TABLE1;

您可以在此处了解有关在sql中使用条件子句的更多信息:How do I perform an IF...THEN in an SQL SELECT?

使用slect查询而不是添加列来计算上述问题将是更可取的。如果需要表格表示,可以从选择查询中创建视图。

答案 2 :(得分:1)