Oracle 数据库表字段截取更新

 更新某张表,某个字段的长度,然后赋值给另一个字段。

update SOSPNPOBUSINESSMATCH set govpsCode = SUBSTR (govpsCode, 1, INSTR (govpsCode, 'CK', 1, 1) - 1) WHERE ID=26
  • substr 函数:截取字符串
  • 语法:SUBSTR(string,start, [length])string:表示源字符串,即要截取的字符串。start:开始位置,从1开始查找。如果start是负数,则从string字符串末尾开始算起。length:可选项,表示截取字符串长度。
  • instr 函数:返回子字符串在源字符串中的位置语法:INSTR(string,child_string,[start],[show_time])string:表示源字符串。child_string:子字符串,即要查找的字符串。start:可选项,开始位置,默认从1开始。如果为负数,则从右向左检索。show_time:可选项,表示子字符串第几次出现在源字符串当中,默认第1次,负数则报错。
  • 致于为什么要减1呢?
  • 是因为截取源字符串,从1开始到获取(第一个’CK’出现位置)进行字符串截取,如果不减去1的话,这其中也包含C这个位置的字符,再减去1即可得到不包含‘CK’的字符串。
THE END
点赞0赞赏 分享
抢沙发
头像
提交
头像

昵称

取消
昵称表情

    暂无评论内容