oracle字符函数
oracle将一串数字转换为字符串的函数

oracle将一串数字转换为字符串的函数Oracle是一种常用的关系型数据库管理系统,它提供了丰富的函数和工具来处理数据。
其中一个常用的函数是将一串数字转换为字符串的函数。
在本文中,我们将介绍如何使用Oracle中的函数来实现这个功能。
在Oracle中,可以使用TO_CHAR函数将数字转换为字符串。
TO_CHAR函数的语法如下:TO_CHAR(number, [format], [nlsparam])其中,number是要转换的数字,format是可选的格式化字符串,nlsparam是可选的国家语言设置参数。
首先,我们来看一个简单的例子。
假设我们有一个数字列num,其中包含了一些整数值。
我们想要将这些整数值转换为字符串,并将其存储在一个新的列str中。
我们可以使用如下的SQL语句来实现:```UPDATE table_nameSET str = TO_CHAR(num)```在这个例子中,我们使用了TO_CHAR函数将num列中的每个整数值转换为字符串,并将其存储在str列中。
通过执行这个UPDATE语句,我们可以将数字转换为字符串并更新表中的数据。
除了简单的转换,TO_CHAR函数还可以使用格式化字符串来控制转换的结果。
例如,我们可以使用格式化字符串来指定转换后字符串的长度、小数位数、千位分隔符等。
下面是一些常用的格式化字符串的示例:- 'FM9999':将数字转换为至少4位的字符串,不包含千位分隔符。
- 'FM9999.99':将数字转换为至少4位整数和2位小数的字符串,不包含千位分隔符。
- 'FM9,999':将数字转换为至少4位的字符串,包含千位分隔符。
例如,我们可以使用如下的SQL语句将一个数字列num转换为至少4位整数和2位小数的字符串,并将其存储在str列中:```UPDATE table_nameSET str = TO_CHAR(num, 'FM9999.99')```通过执行这个UPDATE语句,我们可以将数字转换为指定格式的字符串并更新表中的数据。
oracle自定义字符串分割函数

oracle⾃定义字符串分割函数思路:oracle没有提供类似java中split的函数来将字符串分割成数组,需要开发者⾃⼰搞定.⾸先定⼀个数组类型,再定义⼀个函数或存储过程,处理字符串分割操作,⼀个具体的实例如下:--⾃定义数组类型:CREATE OR REPLACETYPE Varchar2Varray IS VARRAY(100) of VARCHAR2(40);/--⾃定义字符串分割函数,返回分组后的数组CREATE OR REPLACE FUNCTION f_strsplit (STRING VARCHAR2, substring VARCHAR2)RETURN varchar2varrayISlen INTEGER := LENGTH (substring);lastpos INTEGER := 1 - len;pos INTEGER;num INTEGER;i INTEGER := 1;ret varchar2varray := varchar2varray (NULL);v_str VARCHAR2 (32767);/**⾃定义split函数,将指定的字符串按指定的标志符分割成字符数组*/BEGINLOOPpos := INSTR (STRING, substring, lastpos + len);IF pos > 0THEN --foundnum := pos - (lastpos + len);ELSE --not foundnum := LENGTH (STRING) + 1 - (lastpos + len);END IF;IF i > STTHENret.EXTEND;END IF;v_str := SUBSTR (STRING, lastpos + len, num);--DBMS_OUTPUT.put_line (v_str);ret(i) := v_str;EXIT WHEN pos = 0;lastpos := pos;i := i + 1;END LOOP;RETURN ret;END;/--调⽤⽅式:SELECT *FROM TABLE (CAST (f_strsplit ('ABC$DEFGH$IJKLMN$OPQRST', '$') AS varchar2varray ) )将输出:column_value--------------ABCDEFGHIJKLMNOPQRST也可以采⽤如下⽅式得到数组中的值FOR cur_str IN(SELECT *FROM TABLE(CAST(f_strsplit ('ABC$DEFGH$IJKLMN$OPQRST', '$') AS varchar2varray )))LOOPDBMS_OUTPUT.put_line (cur_str.column_value);--其他赋值操作END LOOP;转载⾃:。
oracle 常用字符串函数

oracle 常用字符串函数Oracle是一种广泛使用的关系型数据库管理系统,它提供了许多强大的函数和工具来处理和管理数据。
在Oracle中,字符串函数是最常用的函数之一,它们可以帮助我们处理和操作字符串数据。
在本文中,我们将介绍一些常用的Oracle字符串函数。
1. SUBSTR函数SUBSTR函数用于从字符串中提取子字符串。
它的语法如下:SUBSTR(string, start_position, [length])其中,string是要提取子字符串的字符串,start_position是子字符串的起始位置,length是要提取的子字符串的长度(可选)。
如果省略length,则将提取从start_position开始的所有字符。
例如,以下语句将从字符串“Hello World”中提取“World”:SELECT SUBSTR('Hello World', 7) FROM dual;输出结果为:“World”。
2. INSTR函数INSTR函数用于查找字符串中某个子字符串的位置。
它的语法如下:INSTR(string, substring, [start_position], [nth_appearance])其中,string是要查找的字符串,substring是要查找的子字符串,start_position是查找的起始位置(可选),nth_appearance是要查找的子字符串的第几个出现位置(可选,默认为1)。
例如,以下语句将查找字符串“Hello World”中第一个出现的字母“o”的位置:SELECT INSTR('Hello World', 'o') FROM dual;输出结果为:5。
3. CONCAT函数CONCAT函数用于连接两个或多个字符串。
它的语法如下:CONCAT(string1, string2, ...)其中,string1、string2等是要连接的字符串。
oracle的concat、convert、listagg函数(字符串拼接和类型转换)

字符集描述US7ASCII美国7位ASCII 字符集WE8DEC西欧8位字符集WE8HP惠普西欧Laserjet 8位字符集F7DECDEC 法语7位字符集WE8EBCDIC500IBM 西欧EBCDIC 代码第500页WE8PC850IBM PC 代码第850页WE8ISO8859P1ISO 8859-1西欧8位字符集oracle 的concat 、convert 、listagg 函数(字符串拼接和类型转换)ORACLE ⼏种常⽤的⽅法(2)1、concat 常见的⽤法 : 格式:concat(String1,String2) 说明:concat 函数⽤于将两个字符串连接起来,形成⼀个单⼀的字符串 实例:select concat('bokeyuan','xiaoneng') from dual;-- 运⾏结果bokeyuanxiaoneng2、‘||’常见的⽤法 : 格式:string1||string2||string3 说明:区别于concat ,“||”⽤于将多个字符串连接起来,形成⼀个单⼀的字符串 实例:select 'abc'||'def'||'gg' from dual;-- 结果'abcdefgg'3、convert 格式:CONVERT( string1, char_set_to [, char_set_from] ) 说明:主要⽤户SqlServer 中,把⽇期转换为新数据类型的通⽤函数。
string1:要转换的字符串。
char_set_to :要转换为的字符集。
char_set_from :可选的,要从中转换的字符集。
返回值:CONVERT 函数返回特定字符集中的字符串值。
可⽤的字符集是: 实例:CONVERT ('A B C D E Ä Ê Í Õ Ø', 'US7ASCII', 'WE8ISO8859P1')-- 结果: 'A B C D E ? ?? ?? ? ?'4、listagg 格式:listagg(measure_expr,delimiter) within group(order by name) 说明:在每个分组内,LISTAGG 根据order by ⼦句对列进⾏的排序,将排序后的结果拼接起来 measure_expr :可以是任何基于列的表达式。
oracle获取字符串最后一位数字的函数

oracle获取字符串最后一位数字的函数(原创实用版)目录1.函数概述2.函数语法3.函数示例4.函数应用5.总结正文1.函数概述在 Oracle 数据库中,获取字符串最后一位数字的函数十分实用。
这里我们将介绍如何使用 Oracle 内置函数来实现这个功能。
2.函数语法Oracle 数据库提供了名为`INSTR`的函数,可以用来查找子字符串在字符串中的位置。
结合`CASE`语句和`CAST`函数,我们可以实现获取字符串最后一位数字的功能。
以下是函数语法:```CAST(INSTR(string_column, "0") AS NUMBER)```其中,`string_column`表示包含字符串的列名。
3.函数示例假设我们有一个名为`employees`的表,其中有一个名为`phone_number`的列,存储员工的电话号码。
现在,我们想要获取每个电话号码的最后一位数字。
可以使用以下查询语句:```sqlSELECTemployee_id,phone_number,CAST(INSTR(phone_number, "0") AS NUMBER) AS last_digit FROMemployees;```查询结果将包含每个员工的电话号码及其最后一位数字。
4.函数应用这个函数可以应用于各种场景,例如数据分析、数据清洗等。
在处理涉及电话号码、身份证号等字符串数据时,获取最后一位数字可以帮助我们更好地理解和分析数据。
5.总结通过使用 Oracle 内置函数`INSTR`、`CASE`和`CAST`,我们可以方便地获取字符串最后一位数字。
oracle 常用字符串函数

Oracle常用字符串函数详解字符串是在任何编程语言中都必不可少的数据类型之一。
Oracle数据库提供了一系列的字符串函数来处理和操作字符串数据。
本文将介绍Oracle常用的字符串函数,并详细解释它们的定义、用途和工作方式。
以下是我们将要讨论的函数:1.LENGTH2.SUBSTR3.INSTR4.CONCAT5.UPPER6.LOWER7.TRIM8.REPLACE9.TRANSLATE10.LPAD11.RPAD12.LTRIM13.RTRIM14.SOUNDEX1. LENGTHLENGTH函数用于获取字符串的长度,返回字符串中字符的个数。
它的语法如下:LENGTH(string)string参数是要获取长度的字符串。
返回值是一个整数,代表字符串的长度。
例如:SELECT LENGTH('Hello, World!') FROM dual;运行上述SQL语句后,将返回结果15,因为字符串中有15个字符。
2. SUBSTRSUBSTR函数用于提取字符串的子串。
它的语法如下:SUBSTR(string, start_position, [length])string参数是要提取子串的字符串,start_position参数是子串在字符串中的起始位置(起始位置从1开始),length参数是要提取的子串的长度。
如果省略length 参数,则将提取从start_position到字符串结尾的子串。
例如:SELECT SUBSTR('Hello, World!', 8) FROM dual;运行上述SQL语句后,将返回结果”World!“,因为从字符串的第8个字符开始提取子串。
3. INSTRINSTR函数用于查找子串在字符串中第一次出现的位置。
它的语法如下:INSTR(string, substring, [start_position, [occurrence]])string参数是要查找的字符串,substring参数是要定位的子串,start_position参数是在字符串中开始搜索的位置,默认为1,occurrence参数是要定位的子串在字符串中的第几次出现,默认为1。
oracle拼接字符串函数(去重和不去重)
1.不去重FUNCTION f_linkFunction f_linkCREATE OR REPLACE FUNCTION f_link (p_str VARCHAR2)RETURN VARCHAR2 PARALLEL_ENABLE AGGREGATEUSING t_link;Type t_linkCREATE OR REPLACE TYPE T_LINK AS OBJECT(str VARCHAR2(30000),--currentseprator varchar2(8),STATIC FUNCTION odciaggregateinitialize(sctx IN OUT t_link) RETURN NUMBER,MEMBER FUNCTION odciaggregateiterate(SELF IN OUT t_link,VALUE IN VARCHAR2) RETURN NUMBER,MEMBER FUNCTION odciaggregateterminate(SELF IN t_link,returnvalue OUT VARCHAR2,flags IN NUMBER)RETURN NUMBER,MEMBER FUNCTION odciaggregatemerge(SELF IN OUT t_link, ctx2 IN t_link)RETURN NUMBER)CREATE OR REPLACE TYPE BODY T_LINK ISSTATIC FUNCTION odciaggregateinitialize(sctx IN OUT t_link) RETURN NUMBER ISBEGINsctx := t_link(NULL);RETURN odciconst.success;END;MEMBER FUNCTION odciaggregateiterate(SELF IN OUT t_link,VALUE IN VARCHAR2) RETURN NUMBER IS BEGINSELF.str := SELF.str || ';' || VALUE;RETURN odciconst.success;END;MEMBER FUNCTION odciaggregateterminate(SELF IN t_link,returnvalue OUT VARCHAR2,flags IN NUMBER) RETURNNUMBER ISBEGIN--returnvalue := ltrim(SELF.str)||';';returnvalue := substr(self.str, 2, length(self.str) - 1);RETURN odciconst.success;END;MEMBER FUNCTION odciaggregatemerge(SELF IN OUT t_link, ctx2 INt_link)RETURN NUMBER ISBEGIN--NULL;self.str := self.str || ctx2.str;RETURN odciconst.success;END;END;2.去重FUNCTION f_dislinkFunction f_distlinkCREATE OR REPLACE FUNCTION f_distlink (p_str VARCHAR2)RETURN VARCHAR2 PARALLEL_ENABLE AGGREGATEUSING t_distlink;Type t_distlinkCREATE OR REPLACE TYPE "T_DISTLINK" AS OBJECT(str VARCHAR2(30000),--currentseprator varchar2(8),STATIC FUNCTION odciaggregateinitialize(sctx IN OUT t_distlink)RETURN NUMBER,MEMBER FUNCTION odciaggregateiterate(SELF IN OUT t_distlink,VALUE IN VARCHAR2) RETURN NUMBER,MEMBER FUNCTION odciaggregateterminate(SELF IN t_distlink,returnvalue OUT VARCHAR2,flags IN NUMBER)RETURN NUMBER,MEMBER FUNCTION odciaggregatemerge(SELF IN OUT t_distlink, ctx2 IN t_distlink)RETURN NUMBER)CREATE OR REPLACE TYPE BODY t_distlink ISSTATIC FUNCTION odciaggregateinitialize(sctx IN OUT t_distlink) RETURN NUMBER ISBEGINsctx := t_distlink(NULL);RETURN odciconst.success;END;MEMBER FUNCTION odciaggregateiterate(SELF IN OUT t_distlink,VALUE IN VARCHAR2) RETURN NUMBER IS l_value VARCHAR2(4000);BEGINl_value := ';'||value||';';SELF.str := replace(SELF.str, l_value, ';-;') || l_value;SELF.str := replace(SELF.str, ';;', ';');SELF.str := replace(SELF.str, ';-;', ';');-- SELF.str := l_value || replace(SELF.str, l_value, '') ;-- SELF.str := replace(SELF.str, ';;', ';');RETURN odciconst.success;END;MEMBER FUNCTION odciaggregateterminate(SELF IN t_distlink, returnvalue OUT VARCHAR2,flags IN NUMBER) RETURN NUMBER ISBEGIN--returnvalue := ltrim(SELF.str)||';';--returnvalue := substr(self.str, 2, length(self.str) - 2);if substr(self.str, 1, 1) = ';' thenreturnvalue := substr(self.str, 2);elsereturnvalue := self.str;end if;if substr(returnvalue, length(returnvalue)) = ';' thenreturnvalue := substr(returnvalue, 1,length(returnvalue)-1); end if;RETURN odciconst.success;END;MEMBER FUNCTION odciaggregatemerge(SELF IN OUT t_distlink, ctx2 IN t_distlink)RETURN NUMBER ISBEGIN--NULL;self.str := self.str || ctx2.str;RETURN odciconst.success;END;END;。
Oracle API
Oracle API----字符函数----字符函数主要用于修改字符列。
这些函数接受字符输入,返回字符或数字值。
Oracle 提供的一些字符函数如下。
1. CONCAT (char1, char2)返回连接“char2”的“char1”。
示例2. INITCAP(string)将“string”的字符转成大写。
示例3. LOWER (string)将“string”转成小写。
示例4. LPAD(char1,n [,char2])返回“char1”,左起由“char2”中的字符补充到“n”个字符长。
如果“char1”比“n”长,则函数返回“char1”的前“n”个字符。
示例5. LTRIM(string,trim_set)从左边删除字符,此处“string”是数据库的列,或者是字面字符串,而“trim_set”是我们要去掉的字符的集合。
示例6. REPLACE(string, if, then)用0 或其他字符代替字符串中的字符。
“if”是字符或字符串,对于每个出现在“string”中的“if”,都用“then”的内容代替。
示例7. RPAD(char1, n [,char2])返回“char1”,右侧用“char2”中的字符补充到“n”个字符长。
如果“char1”比“n”长,则函数返回“char1”的前“n”个字符。
示例8. RTRIM(string,trim_set)从右侧删除字符,此处“string”是数据库的列,或者是字面字符串,而“trim_set”是我们要去掉的字符的集合。
示例9. SOUNDEX(char)返回包含“char”的表意字符的字符串。
它允许比较英语中拼写不同而发音类似的字。
示例10. SUBSTR(string, start [,count])返回“string”中截取的一部分。
该命令截取“string”的一个子集,从“start”位置开始,持续“count”个字符。
如果我们不指定“count”,则从“start”开始截取到“string”的尾部。
Oracle中的instr()函数应用及使用详解
Oracle中的instr()函数应⽤及使⽤详解1、instr()函数的格式(俗称:字符查找函数)格式⼀:instr( string1, string2 ) // instr(源字符串, ⽬标字符串)格式⼆:instr( string1, string2 [, start_position [, nth_appearance ] ] ) // instr(源字符串, ⽬标字符串, 起始位置, 匹配序号)解析:string2 的值要在string1中查找,是从start_position给出的数值(即:位置)开始在string1检索,检索第nth_appearance(⼏)次出现string2。
注:在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。
只检索⼀次,也就是说从字符的开始到字符的结尾就结束。
2、实例格式⼀select instr('helloworld','l') from dual; --返回结果:3 默认第⼀次出现“l”的位置select instr('helloworld','lo') from dual; --返回结果:4 即“lo”同时(连续)出现,“l”的位置select instr('helloworld','wo') from dual; --返回结果:6 即“w”开始出现的位置格式⼆select instr('helloworld','l',2,2) from dual; --返回结果:4 也就是说:在"helloworld"的第2(e)号位置开始,查找第⼆次出现的“l”的位置select instr('helloworld','l',3,2) from dual; --返回结果:4 也就是说:在"helloworld"的第3(l)号位置开始,查找第⼆次出现的“l”的位置select instr('helloworld','l',4,2) from dual; --返回结果:9 也就是说:在"helloworld"的第4(l)号位置开始,查找第⼆次出现的“l”的位置select instr('helloworld','l',-1,1) from dual; --返回结果:9 也就是说:在"helloworld"的倒数第1(d)号位置开始,往回查找第⼀次出现的“l”的位置select instr('helloworld','l',-2,2) from dual; --返回结果:4 也就是说:在"helloworld"的倒数第2(l)号位置开始,往回查找第⼆次出现的“l”的位置select instr('helloworld','l',2,3) from dual; --返回结果:9 也就是说:在"helloworld"的第2(e)号位置开始,查找第三次出现的“l”的位置select instr('helloworld','l',-2,3) from dual; --返回结果:3 也就是说:在"helloworld"的倒数第2(l)号位置开始,往回查找第三次出现的“l”的位置注:MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果;如下所⽰:MySQL: select * from tableName where name like '%helloworld%';Oracle:select * from tableName where instr(name,'helloworld')>0; --这两条语句的效果是⼀样的3、实例截图1、2、3、4、5、6、7、8、9、以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
oracle数据库substr函数用法
Oracle数据库函数之SUBSTR函数的详解1. 定义SUBSTR函数是Oracle数据库中的一个字符串函数,主要用于截取指定字符串的子字符串。
它根据给定的参数,从字符串中返回一个指定长度的部分子字符串。
2. 用途SUBSTR函数的主要用途是提取一个字符串的一部分,可以根据实际需求截取字符串的任意位置和长度,以满足各种数据处理和分析的需要。
它可以用于实现以下功能:•截取子字符串:可以根据指定的位置和长度截取出一个字符串的子字符串。
•替换部分字符:可以将指定位置的字符串替换为其他字符串。
•字符串截断:可以将一个较长的字符串截断为指定长度的字符串。
•数据过滤:可以根据指定的条件,截取出符合条件的子字符串。
3. 语法SUBSTR函数的语法如下所示:SUBSTR(string, position, [length])其中,参数的含义如下:•string:要截取的字符串。
•position:截取的起始位置。
如果为正数,则从左侧开始计算索引;如果为负数,则从右侧开始计算索引。
•length:可选参数,指定截取的长度。
如果省略该参数,则截取从起始位置到字符串末尾的所有字符。
4. 示例下面是一些使用SUBSTR函数的示例,以说明其具体用法和工作方式。
示例一:截取指定长度的子字符串假设有一个表格employees,其中包含员工的姓名和电话号码。
现在需要从电话号码中截取区号和手机号码,并将其分别存入两个不同的列中。
CREATE TABLE employees (id NUMBER,name VARCHAR2(50),phone VARCHAR2(20),area_code VARCHAR2(10),phone_number VARCHAR2(20));INSERT INTO employees (id, name, phone)VALUES (1, 'John Smith', '+1 (123) 456-7890');UPDATE employeesSET area_code = SUBSTR(phone, 5, 3),phone_number = SUBSTR(phone, 10)WHERE id = 1;执行以上代码后,employees表的数据将如下所示:id name phone area_code phone_number1 John Smith +1 (123) 456-7890 123 456-7890在上述示例中,使用SUBSTR函数分别从电话号码中截取了区号和手机号码,然后将它们存储到了area_code和phone_number两个列中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle字符函数说明:字符函数输入值为字符类型,返回值为字符类型或数字类型,可以在sql 语句中直接使用,也可以在pl/sql块中使用。
1、ASCII(n)函数描述:返回字符串的ascii码(当输入为字符串时返回第一个字符的ascii码) Examples:select ascii(‘A’)“test”,ascii(‘我们’)“test1”from dual;2、CHR(n)函数描述:返回对应的ascii码的字符(n必须为数字类型)Examples:select ascii(54992)“test”from dual;3、CONCAT(n,m)函数描述:连接n和m,n和m可以是字符,也可以是字符串。
作用和”||”一样。
Examples:select concat(‘中国’,’人民’)“test”from dual;4、INITCAP(n)函数描述:将字符串n中每个单词首字母大写,其余小写(区分单词的规则是按空格或非字母字符;可以输入中文字符,但没有任何作用)Examples:select initcap(‘中国人民’)“test”,initcap(‘my word’)“test1”,initcap(‘my中国word’)“test2”from dual;5、INSTR(chr1,chr2,[n,[m]])函数描述:获取字符串chr2在字符串chr1中出现的位置。
n和m可选,省略是默认为1;n代表开始查找的起始位置,当n为负数从尾部开始搜索;m代表字串出现的次数。
Examples:select instr('pplkoopijk','k',-1,1)“test”from dual;备注:当n为负数从尾部搜索,但返回值仍然是按正向排列得出的位置。
6、LENGTH(n)函数描述:返回字符或字符串长度。
(当n为null时,返回nll;返回的长度包括后面的空格)Examples:select length('ppl')“test”,length(null)“test1”fromdual;7、LOWER(n)函数描述:将n转换为小写。
Examples:select lower('KKKD')“test”from dual;8、LPAD(chr1,n,[chr2])函数描述:在chr1左边填充字符chr2,使得字符总长度为n。
chr2可选,默认为空格;当chr1字符串长度大于n时,则从左边截取chr1的n个字符显示。
Examples:select lpad('kkk',5)“test”,lpad(‘kkkkk’,4)“test1”,lpad(‘kkk’,6,’lll’)“test2”from dual;9、LTRIM(chr,[n])函数描述:去掉字符串chr左边包含的n字符串中的任何字符,直到出现一个不包含在n 中的字符为止。
Examples:select ltrim('abcde',’a’)“test”,ltrim(‘abcde’,’b’)“test1”,ltrim(‘abcdefg’,’cba’)“test2”from dual;10、NLS_INITCAP(chr,[nls_param’’])函数NLS_INITCAP(chr,[’’nls_param描述:将chr首字母大写。
Nls_param可选,指定排序的方式。
(有SCHINESE_RADICAL_M(部首、笔画),SCHINESE_STROKE_M(笔画、部首),SCHINESE_PINYIN_M(拼音))Examples:select nls_initcap('ab cde')“test”,nls_initcap(‘a b c d e’,’nls_sort=SCHINESE_PINYIN_M’)“test1”from dual;nls_param’’])函数11、NLS_LOWER(chr,[NLS_LOWER(chr,[‘‘nls_param描述:将字符串转换为小写。
Nls_param可选,指定排序的方式。
(有SCHINESE_RADICAL_M(部首、笔画),SCHINESE_STROKE_M(笔画、部首),SCHINESE_PINYIN_M(拼音))Examples:select nls_lower('ABC')“test”,nls_lower(‘ABC’,’nls_sort=SCHINESE_PINYIN_M’)“test1”from dual;NLSSORT(col,[’’nls_paramnls_param’’])函数12、NLSSORT(col,[描述:根据nls_param指定的方式对col字段进行排序。
Examples:SELECT part_number FROM cux_om_part_all ORDER BY nlssort(part_number,'nls_sort=SCHINESE_RADICAL_M')13、NLS_UPPER(chr,[nls_param’’])函数NLS_UPPER(chr,[‘‘nls_param描述:将chr转换为大写。
Nls_param可选,用于指定排序规则Examples:SELECT nls_upper('ddddd','nls_sort=xdanish')FROM dual14、REGEXP_REPLACE(source_string,pattern,, REGEXP_REPLACE(source_string,pattern replace_string,position,occurtence,match_parameter)函数(10g新函数)描述:字符串替换函数。
相当于增强的replace函数。
Source_string指定源字符表达式;pattern指定规则表达式;replace_string指定用于替换的字符串;position指定起始搜索位置;occurtence指定替换出现的第n个字符串;match_parameter指定默认匹配操作的文本串。
其中replace_string,position,occurtence,match_parameter参数都是可选的。
15、REGEXP_SUBSTR(source_string,pattern[,position[,occurrence[,match_parameter]]])函数(10g新函数)描述:返回匹配模式的子字符串。
相当于增强的substr函数。
Source_string 指定源字符表达式;pattern指定规则表达式;position指定起始搜索位置;occurtence指定替换出现的第n个字符串;match_parameter指定默认匹配操作的文本串。
其中position,occurtence,match_parameter参数都是可选的Examples:select regexp_substr(‘/product s’,’http://([[:alnum:]]+\.?){3,4}/?’)“regexp_substr”from dual 16、REGEXP_LIKE(source_string,pattern[,match_parameter])函数(10g 新函数)描述:返回满足匹配模式的字符串。
相当于增强的like函数。
Source_string 指定源字符表达式;pattern指定规则表达式;match_parameter指定默认匹配操作的文本串。
其中position,occurtence,match_parameter参数都是可选的Examples:17、REGEXP_INSTR(source_string,pattern[,start_position[,occurrence[,return_option[,match_parameter]]]])函数(10g新函数)描述:该函数查找pattern,并返回该模式的第一个位置。
您可以随意指定您想要开始搜索的start_position。
occurrence参数默认为1,除非您指定您要查找接下来出现的一个模式。
return_option的默认值为0,它返回该模式的起始位置;值为1则返回符合匹配条件的下一个字符的起始位置Examples:18、REPLACE(chr,search_string,[,replacement_string])函数描述:将chr中满足search_string条件的替换为replacement_string指定的字符串,当search_string为null时,返回chr;当replacement_string 为null时,返回chr中截取掉search_string部分的字符串。
Examples:SELECT REPLACE('abcdeef','e','oo')"test",REPLACE('abcdeef','ee','oo')"test1",REPLACE('abcdeef',NULL,'oo')"test2",REPLACE('abcdeef','ee',NULL)"test3"FROM dual19、RPAD(chr1,n,chr2)函数描述:在chr1右边填充chr2,使返回字符串长度为n..当chr1长度大于n 时,返回左端n个字符。
参考LPAD()函数。
20、RTRIM(chr,[set])函数描述:去掉chr右边包含的set中的任何字符,直到出现一个不是set中的字符结束。
参考LTRIM()函数。
21、SOUNDEX(chr)函数描述:返回字符串的语音表示,可以用来比较字符串的发音是否相同。
Examples:select soundex(‘ship’)“test”,soundex(‘sleep’)“test1”from dual;22、SUBSTR(chr,m[,n])函数描述:取chr的子串。
M代表开始位置,n是要取的长度。
当m为0时从首字符开始,当m为负时从字符串尾部开始截取。
Examples:select substr(‘abcdef’,0,3)“test”,substr(‘abcdef’,1,3)“test1”,substr(‘abcdef’,-3,3)“test2”,substr(‘abcdef’,-1,3)“test3”from dual注意:m取0或1时,开始位置是一样的,都是从第一位开始,m为负的时候,仍然是按从左到右的顺序取,所以如果m为-1,n的长度再大,也只能取到最后一个字符,因为chr右边已经没有字符了。