我的表格中有bit
列。我想添加一个新的int
列(枚举)。没问题。不过,我想迁移bit
列中的数据,以映射到新的integer
列。
具体来说,我希望位列中的任何行(1)在新列中映射到int
值2.
bit
列中的任何错误(0),我希望映射到int
值1.
对此逻辑语法的任何帮助都将不胜感激。
答案 0 :(得分:1)
UPDATE myTable
SET NewCol =
CASE oldCol
WHEN True THEN 2
WHEN False THEN 1
END
答案 1 :(得分:1)
正如评论中所述,您可以在迁移脚本中使用CASE
子句来提供您可能想要实现的任何映射逻辑。请参阅official documentation。
示例语法:
CASE
WHEN column = [value_to_map] THEN [mapped_value]
WHEN column = [value_to_map] THEN [mapped_value]
...
ELSE
[fallback_value]
END AS [some_alias]
我希望这会对你有所帮助。