我希望在现有的 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脚本,供想要测试的用户使用。
AgeGroup
是否应该相应更改?如果是这样,那么你所说的不是__默认值__,而是__计算列__。你绝对不应该有两个依赖列,但拥有一个虚拟计算列是可以的。 - Manngo