字符型函数

以下函数全都接收的是字符族类型的参数 (CHR 除外),其中大部分返回字符类型数据,小部分返回数字类型数据。

1. SUBSTR 函数。

该函数提供截取字符串的功能,而且该函数有很多的扩展形式,其具体语句结构是 {[SUBSTR]|[SUBSTRB]|[SUBSTRC]|[SUBSTR2]|[SUBSTR4]}(char,position[,substring_length])

各参数表示含义如下:

  • SUBSTR:以字符为单位。

  • SUBSTRB:以字节为单位。

  • SUBSTRC:以 unicode 字符为单位。

  • SUBSTR2:以 UCS2 代码点为单位。

  • SUBSTR4:以 UCS4 代码点为单位。

  • char:原始字符串。

  • position:要截取字符串的开始位置。初始为 1,如果该值为负数,则表示从 char 的右边算起。

  • substring_length:截取的长度。

具体的示例脚本如下,这里仅以 SUBSTR 操作为例。

select substr('ABCDE我FGHI', 5, 2), substr('ABCDE我FGHI', -5, 2)
from dual;

2. LENGTH 函数。

该函数可以得到指定字符串的长度,返回类型是数字。

同样的,LENGTH 函数也具有扩展形式,具体结构是 {[LENGTH]|[LENGTHB]|[LENGTHC]|[LENGTH2]|[LENGTH4]}(char) ,各项参数含义可以参考前面介绍过的函数,这里不再过多解释,其中 char 是参数。

具体的示例脚本如下,这里仅以 LENGTH 操作为例。

select length('ABCDE我FGHI')
from dual;

3. CONCAT(char1,char2) 函数。

该函数连接两个参数并返回。char2 将连接到 char1 的尾部。效果和连接符 || 相似。

参数类型可以是 CHARVARCHAR2NCHARNVARCHAR2CLOBNCLOB

示例脚本如下:

select concat('我的', '测试!'), '我的' || '测试!'
from dual;

4. INSTR 函数。

该函数可以让我们在指定的字符串中搜索是否存在另一个字符串。

其具体语句结构是 {[INSTR]|[INSTRB]|[INSTRC]|[INSTR2]|[INSTR4]}(string,substring[,position[,occurrence]])

该函数也具有扩展形式,各项参数表示含义如下:

  • INSTR:以字符为单位。

  • INSTRB:以字节为单位。

  • INSTRC:以 unicode 字符为单位。

  • INSTR2:以 UCS2 代码点为单位。

  • INSTR4:以 UCS4 代码点为单位。

  • string:待搜索的字符串。

  • substring:要搜索的字符串。

  • position:搜索的开始位置,默认为 1,表示字符串左边第一个位置;如果为负数,则表示字符串的右边位置为起始位置。

  • occurrence:substring 第几次出现,默认是 1。

具体的示例脚本如下,这里仅以 INSTR 操作为例。

select instr('this is a 测试!', '测'), instr('this is a 测试!', 's', -1)
from dual;

5. UPPER(char) 函数。

该函数将指定的参数全部转换成大写字母。

参数类型可以是 CHARVARCHAR2NCHARNVARCHAR2CLOBNCLOB

示例脚本如下:

select upper('c'), upper('abcd'), upper('this is a test')
from dual;

6. LOWER(char) 函数。

该函数将指定的参数全部转换成小写字母。

参数类型可以是 CHARVARCHAR2NCHARNVARCHAR2CLOBNCLOB

示例脚本如下:

select lower('A'), lower('ABCD'), lower('THIS IS A TEST')
from dual;

7. INITCAP(char) 函数。

该函数参数的所有单词首字母转换成大写字母。

参数类型可以是 CHARVARCHAR2NCHARNVARCHAR2

示例脚本如下:

select initcap('this is a test')
from dual;

8. REPLACE 函数。

函数具体语法结构是 REPLACE(char,search_string[,replacement_string]) ,是一个替换字符串的函数。

函数中有三个参数,具体代表的含义如下:

  • char:表示搜索的目标字符串。

  • search_string:在目标字符串中要搜索的字符串。

  • replacement_string:该参数可选,用它可替代被搜索到的字符串,如果该参数不用,则表示从 char 参数中删除 search_string 字符串。

具体的示例脚本如下:

select replace('this is a test', 'tes', 'resul')
from dual;

9. TRIM 函数。

该函数将删除指定的前缀或尾随的字符,默认删除空格。

其具体语法结构是 TRIM([LEADING|TRAILING|BOTH](trim_character FROM)trim_source) ,各参数介绍如下:

  • LEADING:删除 trim_source 的前缀字符。

  • TRAILING:删除 trim_source 的后缀字符。

  • BOTH:删除 trim_source 的前缀和后缀字符。

  • trim_character:删除的指定字符,默认删除空格。

  • trim_source:被操作的字符串。

具体的示例脚本如下:

select trim(trailing 't' from 'test'), trim('test')
from dual;

10. RTRIM(char[,set]) 函数。

RPAD 函数相反,该函数会提供将 char 右边出现在 set 中的字符删除掉。

如果 set 没有,则默认删除空格。

具体的示例脚本如下:

select rtrim('test'), rtrim('test*ffs', 'fs*')
from dual;

11. LTRIM(char[,set]) 函数。

RTRIM 函数相似,该函数会提供将 char 左边出现在 set 中的字符删除掉。

如果 set 没有,则默认删除空格。

具体的示例脚本如下:

select ltrim('ftest', 'f')
from dual;

12. CHR(n[USING NCHAR_CS]) 函数。

根据相应的字符集,把给定的 ASCII 码转换为字符。 USING NCHAR_CS 指明字符集。

以下示例用默认字符集,示例脚本如下:

select chr(65) || chr(66) || chr(67) abc, chr(54678)
from dual;

13. ASCII(char) 函数。

返回参数首字母的 ASCII 码值。与 CHR 函数相反。参数 char 的类型可以是 CHARVARCHAR2NCHARNVARCHAR2

该返回值总是以用户使用的字符集为基础的,如果用户的数据库字符集是 7 位的 ASCII 值,那就得到一 ASCII 码值。

示例脚本如下:

select ascii('明'), ascii('Adb'), ascii('ABC')
from dual;
© 2019 刘士. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""