获取百分比计算并更新列
Get percentage calculation and update the column
我想从下面的查询中将 UG_length
和 AR_length
两列分别更新为 NE_length
的 80% 和 20%。
SELECT
CALCULATED_LENGTH AS NE_LENGTH ,
(CASE WHEN RJ_CONSTRUCTION_METHODOLOGY NOT LIKE '%AERIAL%' OR RJ_CONSTRUCTION_METHODOLOGY IS NULL THEN NVL(CALCULATED_LENGTH,0)
ELSE 0 END) AS UG_length,
(CASE WHEN RJ_CONSTRUCTION_METHODOLOGY LIKE '%AERIAL%' OR RJ_CONSTRUCTION_METHODOLOGY IS NULL THEN NVL(CALCULATED_LENGTH,0)
ELSE 0 END) AS AR_length
FROM NE.MV_SPAN@DB_LINK_NE_VIEWER;
在 Oracle 中最简单的方法是什么?
我需要 NE_length 列的百分比分叉。
您可以使用更新
update NE.MV_SPAN@DB_LINK_NE_VIEWER
set UG_length = (CASE WHEN RJ_CONSTRUCTION_METHODOLOGY NOT LIKE '%AERIAL%' OR RJ_CONSTRUCTION_METHODOLOGY IS NULL THEN NVL(CALCULATED_LENGTH,0)*0.8
ELSE 0 END)
, AR_length = (CASE WHEN RJ_CONSTRUCTION_METHODOLOGY NOT LIKE '%AERIAL%' OR RJ_CONSTRUCTION_METHODOLOGY IS NULL THEN NVL(CALCULATED_LENGTH,0)*0.2
ELSE 0 END)
我想从下面的查询中将 UG_length
和 AR_length
两列分别更新为 NE_length
的 80% 和 20%。
SELECT
CALCULATED_LENGTH AS NE_LENGTH ,
(CASE WHEN RJ_CONSTRUCTION_METHODOLOGY NOT LIKE '%AERIAL%' OR RJ_CONSTRUCTION_METHODOLOGY IS NULL THEN NVL(CALCULATED_LENGTH,0)
ELSE 0 END) AS UG_length,
(CASE WHEN RJ_CONSTRUCTION_METHODOLOGY LIKE '%AERIAL%' OR RJ_CONSTRUCTION_METHODOLOGY IS NULL THEN NVL(CALCULATED_LENGTH,0)
ELSE 0 END) AS AR_length
FROM NE.MV_SPAN@DB_LINK_NE_VIEWER;
在 Oracle 中最简单的方法是什么?
我需要 NE_length 列的百分比分叉。
您可以使用更新
update NE.MV_SPAN@DB_LINK_NE_VIEWER
set UG_length = (CASE WHEN RJ_CONSTRUCTION_METHODOLOGY NOT LIKE '%AERIAL%' OR RJ_CONSTRUCTION_METHODOLOGY IS NULL THEN NVL(CALCULATED_LENGTH,0)*0.8
ELSE 0 END)
, AR_length = (CASE WHEN RJ_CONSTRUCTION_METHODOLOGY NOT LIKE '%AERIAL%' OR RJ_CONSTRUCTION_METHODOLOGY IS NULL THEN NVL(CALCULATED_LENGTH,0)*0.2
ELSE 0 END)