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

论坛 期权论坛 脚本     
匿名技术用户   2020-12-29 09:11   22   0

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、''这两种为空的情况,无法判断是一个空格或多个空格的情况。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP