我的a列具有不同的int值(正值和负值),我想将值从A列复制到B列,如果值是负数,则转换为正数 以下内容无效
UPDATE myTable SET B = ABS(A);
谢谢
答案 0 :(得分:2)
尝试
UPDATE myTable SET B = case when A < 0 then -A else A end
答案 1 :(得分:1)
只需添加一个计算列:
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
0,0,0,2,3,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,2,0,0,0
这样,alter table t add b as (abs(a));
的值将在访问时进行计算,因此您不必担心它与b
不同步。
假设a
是数字类型并且表中定义了a
,您的代码应该可以工作。