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’的字符串。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM