ryg*_*y72 2 sql t-sql sql-server
这是从三个不同列更新单个列的最有效方法吗?
UPDATE TBL_FR2052A_TPOS_HIST_SPLIT
SET REPORTABLE_AMOUNT = ISNULL(PRINCIPAL,0)
UPDATE TBL_FR2052A_TPOS_HIST_SPLIT
SET REPORTABLE_AMOUNT = ISNULL(INTEREST,0)
UPDATE TBL_FR2052A_TPOS_HIST_SPLIT
SET REPORTABLE_AMOUNT = ISNULL(RAW_DATA_AMOUNT,0)
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL Server.谢谢!
看起来像COALESCE()会有所帮助
UPDATE TBL_FR2052A_TPOS_HIST_SPLIT
SET REPORTABLE_AMOUNT = COALESCE(ROW_DATA_AMOUNT, INTEREST, PRINCIPAL, 0)
Run Code Online (Sandbox Code Playgroud)
REPORTABLE_AMOUNT
然后将使用COALESCE()
非空的第一个值进行更新.