有条件地将具有默认值的列添加到SQL Server中的现有表

谢拉兹·艾哈迈德(Sheraz Ahmed)

我想根据某些情况/条件在现有SQL表中添加具有默认值的新列。

我想知道是否有可能。如果是,怎么办?如果不是,为什么?

替代方案:

一种选择是创建列,然后更新,但是这里的方法是不可能的。

让我们考虑一下下表

╔════╦══════════════╗
║ ID ║      Age     ║ 
╠════╬══════════════║
║  1 ║    0.166667  ║   
║  2 ║     0.125    ║   
║  3 ║       13     ║   
║  4 ║       19     ║  
║  5 ║       45     ║  
║  6 ║       59     ║   
║  7 ║       60     ║  
║  8 ║       64     ║ 
╚════╩══════════════╝

所需的输出是这样的:

╔════╦══════════════╦═══════════╗
║ ID ║      Age     ║ AgeGroup  ║
╠════╬══════════════╬═══════════╣
║  1 ║    0.166667  ║   NewBorn ║
║  2 ║     0.125    ║   NewBorn ║
║  3 ║       13     ║   Teen    ║
║  4 ║       19     ║   Teen    ║
║  5 ║       45     ║   Adult   ║
║  6 ║       59     ║   Adult   ║
║  7 ║       60     ║  Elder    ║
║  8 ║       64     ║  Elder    ║
╚════╩══════════════╩═══════════╝

我已经研究了这篇文章,但这仅用于“添加列默认值”

编辑:这是上面表格的SQL脚本,其中包含要测试的用户的表和数据。

DarkRob

您可以尝试一下。基本上有两种方法可以实现此目的。

在表架构中添加列

据我了解,您想在表架构中添加一列作为您共享的给定链接。您可以使用case语句为计算值添加列。

编辑:更正语法错误

alter table yourtable
    add AgeGroup as (case 
                        when Age < 2 then 'New Born'
                        when Age < 19 then 'Teen'
                        when Age < 45 then 'Young'
                        when Age > 60 then 'Adult'
                        else 'Invalid' 
                     end);

要么

建立检视

您可以为其创建视图,并在需要时使用它。

Create View TableResult 
As
Select Id, Age, case Age 
                         WHEN Age < 2 then 'New Born'
                         WHEN Age < 19 then 'Teen'
                         WHEN Age < 45 then 'Young'
                         WHEN Age > 60 then 'Adult'
                         else 'Invalid' 
                     end as AgeGroup
End


本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将具有默认值的列添加到SQL Server中的现有表

有条件地将列和值添加到Spark Rows

有条件地将值添加到新列并替换R中的条件列中的值

根据函数变量的值有条件地将层添加到gglplot中

有条件地将键/值对添加到Woocommerce中的数组

R:将新列添加到具有条件的现有数据框中

有条件地将12小时添加到列中

有条件地将列添加到 dplyr R 中的 groupby

将信息添加到有条件地比较字符串的列中

有条件地将列添加到数据框列表中

有条件地将键/值对添加到对象的最佳方法是什么

使用Oracle SQL有条件地将xmlattribute添加到xmlelement

R - 如何有条件地将连续列添加到数据框?

Spark:有条件地将列添加到数据框

实体框架-有条件地将列添加到分组依据

如何有条件地将新的XElement添加到wpf中的现有根元素中?

有条件地添加到地图

有条件地将JSF组件添加到翻译字符串中

Scala:将项目添加到序列中或有条件地合并序列

有条件地将命名元素添加到列表中

如何有条件地将元素添加到R中的字符开头?

有条件地将where子句添加到雄辩的查询中

如何使用熊猫有条件地分隔单元格值并将其添加到列

如何有条件地将“按钮”添加到“工具栏”“表单”“组件”?

有条件地将CircleMarkers添加到传单

使用jq有条件地将元素添加到json数组

如何有条件地将元素添加到 std::array - C++11

有条件地将文件添加到C ++项目中的库

打字稿:有条件地将项目添加到对象