您的位置:首页 > 数据库 > Oracle

Oracle 【to_number】【instr】

2016-05-25 18:48 459 查看
需求:对一个包含数字的字符串排序

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,’-’))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: