Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 添加一个差值为两个值的新列_Sql_Oracle_Diff - Fatal编程技术网

Sql 添加一个差值为两个值的新列

Sql 添加一个差值为两个值的新列,sql,oracle,diff,Sql,Oracle,Diff,SQL有时很愚蠢,不是吗?现在,我想从不同的列中取两个值,比较它们之间的差异。例: ColA | ColB | New column 1 | 0 | 1 2 | 5 | 3 3 | 10 | 7 要创建此RAD新列,我应该做什么?您可以使用计算列: ALTER TABLE tab_name ADD new_column AS (ABS(ColB - ColA)); 你真的需要一个新专栏吗?也许您只是想在select语句中访问该值 SELECT ColA

SQL有时很愚蠢,不是吗?现在,我想从不同的列中取两个值,比较它们之间的差异。例:

ColA | ColB | New column
1    |  0   |  1
2    |  5   |  3
3    | 10   |  7

要创建此RAD新列,我应该做什么?

您可以使用计算列:

ALTER TABLE tab_name
ADD new_column AS (ABS(ColB - ColA));

你真的需要一个新专栏吗?也许您只是想在select语句中访问该值

SELECT ColA, ColB, ABS(ColA - ColB) AS [New column]
FROM YourTable

也许是这样的

select ColA, ColB, ABS(ColA-ColB) as 'New column' from table 

用您正在使用的数据库标记您的问题。这会为新值分配新列吗?我可以运行此更改,但是,如果有人在该表中插入新行,则不会添加该信息。如果我想说,有一个每隔几天运行一次的作业,我会补充什么?例:我们不想添加列,只想更新column@DrewL.Facchiano如果有人添加了新行,信息就会出现在那里。它是动态计算的,不需要更新。关键是,当您填充ColB和ColA时,将计算差值。这听起来很完美,我收到了这个错误12:01:32[ALTER-0行,0.005秒][错误代码:904,SQL状态:42000]ORA-00904::无效标识符ALTER似乎不正确valid@DrewL.Facchiano请发布<代码>从v$版本中选择*谢谢@Lad20205你是个英雄