• Oracle 【to_number】【instr】


    需求:对一个包含数字的字符串排序

    search后参考了  http://www.cnblogs.com/m-cnblogs/archive/2012/03/30/2425938.html

    截屏:

    (用到了to_number(str,split 1,...)   instr()  replace()  substr())

    TO_NUMBER(x [, format], [ nls_language ]) 

    converts x to a NUMBER.

    • x is the string that will be converted to a number.
    • format, optional, is the format that will be used to convert x to a number.
    • nls_language, optional, is the nls language used to convert x to a number

    INSTR(string, pattern-to-find)

    INSTR returns the location (beginning) of a pattern in a given string. Its simple form is:

    The general syntax of INSTR is:

    INSTR (string to search, search pattern [, start [,occurrence]])

    The arguments within brackets ([]) are optional.

    在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置。 

    如果start的值为负数,则代表从右往左进行查找,但是位置数据仍然从左向右计算。 

    SUBSTR retrieves a portion of the string. The general format for this function is:

    SUBSTR(string, start_at_position[, number_of_characters_to_retrieve])  
    从给定的字符表达式返回一个子字符串。    
    REPLACE(source-string, pattern-to-find, pattern-to-replace-by)

    (to)‘2011-10-11’  ‘2011/10/11’ 转换

    update 表1 t set t.列1=replace((select 列1from 表1 a where a.主键列=t.主键列) , '/' , '-' ) 

    例:select  replace ('111222333444','222','888') from dual;

    输出为 '111888333444'

    最后我的代码

    pn
    to_number(str,’-’)

    str:

    replace(source ,’-’)

    source:

    substr(pn,instr(pn,’-’)+1,  length(pn)-1-instr(pn,’-’))

  • 相关阅读:
    Linux 操作文件目录
    前端HTML所遇到的报错
    【剑指offer】最小的k个数
    【剑指offer】数组中出现次数超过一半的数字
    【剑指offer】栈的压入、弹出序列
    【剑指offer】二叉树的镜像
    【剑指offer】反转链表
    【剑指offer】数值的整数次方
    【剑指offer】重建二叉树
    【剑指offer】旋转数组的最小数字
  • 原文地址:https://www.cnblogs.com/newcoder/p/5528103.html
Copyright © 2020-2023  润新知