oracle 更新字段,更新非空字段(null、‘’、一个或多个空格的情况)

UPDATE LOA_FUND_HOLD_DTL
   SET TRANS_STATUS = '2',
   AND FAIL_INFO = NVL(TRIM(' ' from rec.FAIL_INFO),'主机对账失败。'),
   AND LAST_MODITY_TIME = SYSDATE,
   AND LAST_DATE = TO_CHAR(SYSDATE, 'YYYYMMDD')
 WHERE HOLD_EVENT_NO = rec.HOLD_EVENT_NO;

NVL(TRIM(' ' from rec.FAIL_INFO),'主机对账失败')   ' ':空格

优点:NVL和TRIM函数组合使用,可以更新 null、''、以及单个或多个空格的情况,

缺点:当 rec.FAIL_INFO 字段值存在,且内容以空格开头和结尾,会把开头之前和结尾之后的空格都裁剪掉,对于失败原因(FAIL_INFO)这种字段,没有影响。

NVL函数只能判断null、''这两种为空的情况,无法判断是一个空格或多个空格的情况。

猜你喜欢

转载自blog.csdn.net/li_tiantian/article/details/84488725
今日推荐