Oracle字符串函数
这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.
除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.
字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的。
字符型变量存储的最大值:
VARCHAR2数值被限制为2000字符(ORACLE 8中为4000字符)
CHAR数值被限制为255字符(在ORACLE8中是2000)
long类型为2GB
Clob类型为4GB
1、CHR
语法: chr(x)
功能:返回在数据库字符集中与X拥有等价数值的字符。CHR和ASCII是一对反函数。经过CHR转换后的字符再经过ASCII转换又得到了原来的字
符。
例:select chr(65) from dual;--A
select ASCII('A') from dual;--65
2、CONCAT
语法: CONCAT(string1,string2)
功能:连接2个字符串
例:select concat('AA','BB') from dual;--AABB
select 'AA'||'BB' from dual;--AABB
3、INITCAP
语法:INITCAP(string)
功能:返回字符串的每个单词的第一个字母大写而单词中的其他字母小写的字符串。单词是用.或空格或给字母数字字符进行分隔。不是字母的
字符不变动。
例:select INITCAP('AABB') from dual;--Aabb
select INITCAP('AA BB') from dual;--Aa Bb
select INITCAP('AA.BB') from dual;--Aa Bb
4、LTRIM
语法:LTRIM(string1,string2)
功能:返回删除从左边算起出现在string2中的字符的string1。String2被缺省设置为单个的空格。数据库将扫描string1,从最左边开始。当
遇到不在string2中的第一个字符,结果就被返回了。LTRIM的行为方式与RTRIM很相似。
例:select LTRIM('2A2B12','A2') from dual;--B12
5、NLS_INITCAP
语法:NLS_INITCAP(string[,nlsparams])
功能:返回字符串每个单词第一个字母大写而单词中的其他字母小写的string,nlsparams
指定了不同于该会话缺省值的不同排序序列。如果不指定参数,则功能和INITCAP相同。Nlsparams可以使用的形式是:
‘NLS_SORT=sort’
这里sort制订了一个语言排序序列。
6、NLS_LOWER
语法:NLS_LOWER(string[,nlsparams])
功能:返回字符串中的所有字母都是小写形式的string。不是字母的字符不变。
Nlsparams参数的形式与用途和NLS_INITCAP中的nlsparams参数是相同的。如果nlsparams没有被包含,那么NLS_LOWER所作的处理和
LOWER相同。
7、NLS_UPPER
语法:nls_upper(string[,nlsparams])
功能:返回字符串中的所有字母都是大写的形式的string。不是字母的字符不变。nlsparams参数的形式与用途和NLS_INITCAP中的相同。如果
没有设定参数,则NLS_UPPER功能和UPPER相同。
8、REPLACE
语法:REPLACE(string,search_str[,replace_str])
功能:把string中的所有的子字符串search_str用可选的replace_str替换,如果没有指定replace_str,所有的string中的子字符串
search_str都将被删除。REPLACE是TRANSLATE所提供的功能的一个子集。
例:select REPLACE('aaabbbccc','bb','dd') from dual;--aaaddbccc
select REPLACE('aaabbbccc','bbb') from dual;--aaaccc
9、RPAD
语法:RPAD(string1,x[,string2])
功能:rpad函数从右边对字符串使用指定的字符进行填充
string 表示:被填充的字符串
padded_length 表示:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,rpad函数将会把字符串截取成从左到右的n个字符;
pad_string 是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。
例:select rpad('tech', 7,'z') from dual;--techzzz
select rpad('tech', 2,'z') from dual;--te
10、RTRIM
语法: RTRIM(string1,[,string2])
功能: 返回删除从右边算起出现在string1中出现的字符string2. string2被缺省设置为单个的空格.数据库将扫描string1,从右边开始.当遇
到不在string2中的第一个字符,结果就被返回了。RTRIM的行为方式与LTRIM很相似.
例:select RTRIM('tech','h') from dual;--tec
11、SOUNDEX
语法: SOUNDEX(string)
功能: 返回string的声音表示形式.这对于比较两个拼写不同但是发音类似的单词而言很有帮助.
12、SUBSTR
语法: substr(string,start[,length])
功能: 函数返回字符串的一部分
例:select substr('abcdefg',1,2) from dual;--ab
select substr('abcdefg',0,2) from dual;--ab
select substr('abcdefg',-2,2) from dual;--fg
13、TRANSLATE
语法: TRANSLATE(string,from_str,to_str)
功能: 返回将所出现的from_str中的每个字符替换为to_str中的相应字符以后的string. TRANSLATE是REPLACE所提供的功能的一个超集.
如果from_str比to_str长,那么在from_str中而不在to_str中而外的字符将从string中被删除,因为它们没有相应的替换字符. to_str不能为空
.Oracle把空字符串认为是NULL,并且如果TRANSLATE中的任何参数为NULL,那么结果也是NULL.
例:select TRANSLATE('abcdefg','','h') from dual;--null
select TRANSLATE('abcdefg','b','h') from dual;--ahcdefg
14、UPPER
语法: UPPER(string)
功能: 返回大写的string.不是字母的字符不变.如果string是CHAR数据类型的,那么结果也是CHAR类型的.如果string是VARCHAR2类型的,那么
结果也是VARCHAR2类型的.
例:select UPPER('abcdefg') from dual;--ABCDEFG
15、ASCII
语法: ASCII(string)
功能: 数据库字符集返回string的第一个字节的十进制表示.请注意该函数仍然称作为ASCII.尽管许多字符集不是7位ASCII.CHR和ASCII是互为
相反的函数.CHR得到给定字符编码的响应字符. ASCII得到给定字符的字符编码.
例:select chr(65) from dual;--A
select ASCII('A') from dual;--65
16、INSTR
语法: INSTR(string1, string2[a,b])
功能: 得到在string1中包含string2的位置. string1时从左边开始检查的,开始的位置为a,如果a是一个负数,那么string1是从右边开始进行
扫描的.第b次出现的位置将被返回. a和b都缺省设置为1,这将会返回在string1中第一次出现string2的位置.如果string2在a和b的规定下没有
找到,那么返回0.位置的计算是相对于string1的开始位置的,不管a和b的取值是多少.
例:select instr('abcdebfg','b',1,2) from dual;--6
select instr('abcdefg','b',1,2) from dual;--0
select instr('abcdefg','b') from dual;--2
select instr('abcdebfg','b',-7) from dual;--2
17、INSTRB
语法: INSTRB(string1, string2[a,[b]])
功能: 和INSTR相同,只是操作的对参数字符使用的位置的是字节.
18、LENGTH
语法: LENGTH(string)
功能: 返回string的字节单位的长度.CHAR数值是填充空格类型的,如果string由数据类型CHAR,它的结尾的空格都被计算到字符串长度中间.
如果string是NULL,返回结果是NULL,而不是0.
例:select LENGTH('abcdebfg') from dual;--8
select LENGTH('') from dual;--null
19、LENGTHB
语法: LENGTHB(string)
功能: 返回以字节为单位的string的长度.对于单字节字符集LENGTHB和LENGTH是一样的.
分享到:
相关推荐
下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 Oracle Sql 提供了两个大小写转换函数:UPPER() 和 LOWER()。UPPER() 函数将字符串转换为大写,而 LOWER() 函数将字符串转换为小写。 示例:...
### Oracle常用字符串处理函数 在Oracle数据库中,字符串处理函数是非常重要的工具,它们可以帮助我们高效地管理和操作数据。本文将详细介绍几种常用的字符串处理函数及其应用方法。 #### 1. LTRIM 和 RTRIM ...
本文将深入探讨Oracle中的常用字符串操作函数,帮助你更好地理解和运用这些功能。 1. **LENGTH()** 函数: 这个函数用于返回字符串的长度,不包括结束的空字符。例如,`LENGTH('Hello')` 将返回5。 2. **SUBSTR()...
Oracle字符相似度函数是Oracle数据库系统提供的一种功能,用于评估两个字符串之间的相似性。这个功能在数据清洗、信息检索、文本分析等领域具有广泛的应用。在SQL查询中,我们可以直接使用这些函数来比较不同字符串...
- 该函数返回字符串的第一个字符的ASCII码值。如果输入的是一个非ASCII字符(如中文字符),则返回的是其Unicode编码。 2. CHR(n) 函数: - CHR函数将一个整数(ASCII或Unicode码值)转换为相应的字符。例如,...
Oracle数据库系统提供了丰富的函数库,包括数值函数、转换函数和字符串函数,以帮助用户进行数据处理和查询。本文主要关注日常工作中常用的那部分,而非全面介绍。如果你希望深入研究所有Oracle函数,建议查阅官方的...
本文将详细介绍Oracle中的字符串截取功能及其应用场景,包括常用的`INSTR`和`SUBSTR`函数,并通过具体示例展示如何在实际工作中灵活运用这些函数来满足不同的需求。 #### 二、`INSTR`函数 `INSTR`函数用于查找一个...
本文将对 Oracle SQL 函数大全进行分类和讲解,涵盖字符串函数、字符转换函数、去空格函数、取子串函数、字符串比较函数、字符串操作函数等多种函数。 一、字符转换函数 字符转换函数是将字符或字符串从一种形式...
Oracle数据库系统提供了丰富的函数,包括数值函数、转换函数和字符串函数,帮助用户在处理数据时进行各种操作。这些函数在SQL查询和数据库应用程序开发中起着至关重要的作用。 1. 数值函数: - `ABS(m)`:计算并...
下面介绍两种常用的方法来判断一个字符串是否能够转换为数字: ##### 方法一:使用`TRANSLATE`函数 可以使用`TRANSLATE`函数将所有可能的数字字符(包括小数点、正负号和科学计数法中的“E”或“e”)替换为固定的...
Oracle数据库系统提供了丰富的函数库,包括数值函数、转换函数和字符串函数,这些函数极大地增强了数据库操作的灵活性和功能。下面将详细介绍这些函数的使用方法。 数值函数是处理数学计算的关键工具,例如: 1. `...
### Oracle登录字符串格式校验分析 #### 概述 在Oracle数据库管理中,为了确保连接字符串的正确性,经常需要对连接字符串进行格式校验。本文将详细介绍如何通过编程方式来解析并验证一个标准的Oracle登录字符串(`...
Oracle 常用函数大全 Oracle 中有许多常用函数,以下是其中一些: 字符函数 1. ASCII:返回与指定的字符对应的十进制数。...这些函数是 Oracle 中常用的字符串处理函数,可以用来进行字符串的操作和处理。
在Oracle数据库中,日期与字符串之间的转换是一项常用且重要的操作。正确地进行日期与字符串之间的转换对于数据处理、查询优化等方面有着不可忽视的作用。本文档将详细介绍Oracle中日期与字符串转换的方式,并通过...
字符函数主要用于处理字符串数据,包括: 1. `lower(char)`:将字符串中的所有字符转换为小写字母。 2. `upper(char)`:将字符串中的所有字符转换为大写字母。 3. `length(char)`:返回字符串的总字符数。 4. `...
以下是一些常用的字符串函数及其具体用途: ##### 1. ASCII - **功能**:返回指定字符的ASCII码值。 - **语法**: - `ASCII(char_expr)` - **示例**: - `SELECT ASCII('A') AS "A", ASCII('a') AS "a", ASCII('0...