`

字符函数

阅读更多
一、字符函数——返回字符值
    这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的,比如: VARCHAR2数值被限制为2000字符(ORACLE 8中为4000字符),而CHAR数值被限制为255字符(在ORACLE8中是2000).当在过程性语句中使用时,它们可以被赋值给VARCHAR2或者CHAR类型的PL/SQL变量.

ASCII
语法:ascii(char c)
功能:返回一个字符串的第一个字符的ASCII码,他的逆函数是CHR()
使用位置:过程性语句和SQL语句。
select ascii('罗') from dual;
select chr(49886) from dual;

CHR
语法:  chr(x)
功能:返回在数据库字符集中与X拥有等价数值的字符。CHR和ASCII是一对反函数。经过CHR转换后的字符再经过ASCII转换又得到了原来的字符。
使用位置:过程性语句和SQL语句。

CONCAT
语法: CONCAT(c1,c2)
功能: c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null,他和操作符||返回的结果相同.
使用位置:过程性语句和SQL语句。

INITCAP
语法:INITCAP(string)
功能:返回字符串的每个单词的第一个字母大写而单词中的其他字母小写的string。单词是用.空格或给字母数字字符由空格,控制字符,标点符号进行分隔。不是字母的字符不变动。      
使用位置:过程性语句和SQL语句。
select INITCAP('luo,jia,you')from dual;
select INITCAP('luo jia you')from dual;
LTRIM
语法:LTRIM(string1,string2)
功能:返回删除从左边算起出现在string2中的字符的string1。String2被缺省设置为单个的空格。数据库将扫描string1,从最左边开始。当遇到不在string2中的第一个字符,结果就被返回了。LTRIM的行为方式与RTRIM很相似。
使用位置:过程性语句和SQL语句。

LOWER
语法:LOWER(string)
功能:返回字符串,并将所有的字符小写
使用位置:过程性语句和SQL语句。

NLS_INITCAP
语法:NLS_INITCAP(string[,nlsparams])
功能:返回字符串每个单词第一个字母大写而单词中的其他字母小写的string,nlsparams
指定了不同于该会话缺省值的不同排序序列。如果不指定参数,则功能和INITCAP相同。Nlsparams可以使用的形式是:
‘NLS_SORT=sort’
这里sort制订了一个语言排序序列。
使用位置:过程性语句和SQL语句。

NLS_LOWER
语法:NLS_LOWER(string[,nlsparams])
功能:返回字符串中的所有字母都是小写形式的string。不是字母的字符不变。
      Nlsparams参数的形式与用途和NLS_INITCAP中的nlsparams参数是相同的。如果nlsparams没有被包含,那么NLS_LOWER所作的处理和LOWER相同。
使用位置;过程性语句和SQL语句。

NLS_UPPER
语法:nls_upper(string[,nlsparams])
功能:返回字符串中的所有字母都是大写的形式的string。不是字母的字符不变。nlsparams参数的形式与用途和NLS_INITCAP中的相同。如果没有设定参数,则NLS_UPPER功能和UPPER相同。
使用位置:过程性语句和SQL语句。

REPLACE
语法:REPLACE(string,search_str[,replace_str])
功能:把string中的所有的子字符串search_str用可选的replace_str替换,如果没有指定replace_str,所有的string中的子字符串search_str都将被删除。REPLACE是TRANSLATE所提供的功能的一个子集。
使用位置:过程性语句和SQL语句。

RPAD
语法:RPAD(string1,x[,string2])
功能:返回在X字符长度的位置上插入一个string2中的字符的string1。如果string2的长度要比X字符少,就按照需要进行复制。如果string2多于X字符,则仅string1前面的X各字符被使用。如果没有指定string2,那么使用空格进行填充。X是使用显示长度可以比字符串的实际长度要长。RPAD的行为方式与LPAD很相似,除了它是在右边而不是在左边进行填充。
使用位置:过程性语句和SQL语句。

LPAD
语法:LPAD(string1,x[,string2])
功能:返回在X字符长度的位置上插入一个string2中的字符的string1。如果string2的长度要比X字符少,就按照需要进行复制。如果string2多于X字符,则仅string1前面的X各字符被使用。如果没有指定string2,那么使用空格进行填充。X是使用显示长度可以比字符串的实际长度要长。RPAD的行为方式与LPAD很相似,除了它是在右边而不是在左边进行填充。
String1,string2均为字符串,x为整数。在string1的左侧用string2字符串补足致长度x,可多次重复,如果x小于string1的长度,那么只返回string1中左侧x个字符长的字符串,其他的将被截去。String2的缺省值为单空格
使用位置:过程性语句和SQL语句。
select LPAD('123',8,'0') from dual;   -- 00000123
select LPAD('123456789',8,'0') from dual; --12345678

RTRIM
语法:  RTRIM(string1,[,string2])
功能:  返回删除从右边算起出现在string1中出现的字符string2. string2被缺省设置为单个的空格.数据库将扫描string1,从右边开始.当遇到不在string2中的第一个字符,结果就被返回了RTRIM的行为方式与LTRIM很相似.
使用位置:过程性语句和SQL语句。

SOUNDEX
语法:  SOUNDEX(string)
功能:  返回string的声音表示形式.这对于比较两个拼写不同但是发音类似的单词而言很有帮助. 返回与string发音相似的词
使用位置:过程性语句和SQL语句。

SUBSTR
语法:  SUBSTR(string,a[,b])
功能:  返回从字母为值a开始b个字符长的string的一个子字符串.如果a是0,那么它就被认为从第一个字符开始.如果是正数,返回字符是从左边向右边进行计算的.如果b是负数,那么返回的字符是从string的末尾开始从右向左进行计算的.如果b不存在,那么它将缺省的设置为整个字符串.如果b小于1,那么将返回NULL.如果a或b使用了浮点数,那么该数值将在处理进行以前首先被却为一个整数.
使用位置:过程性语句和SQL语句。
SUBSTRB
语法:  SUBSTRB(string,a[,b])
功能:  与SUBSTR大致相同,只是a,b是以字节计算
使用位置:过程性语句和SQL语句。

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.
使用位置:过程性语句和SQL语句。
select TRANSLATE('fumble','umf','abc') test from dual; --cabble
select TRANSLATE('fumble','fu','abcdd') test from dual; --abmble

TRIM
   语法:  TRIM(string)
   功能:  删除string字符串前后的空格
使用位置:过程性语句和SQL语句。

UPPER
语法: UPPER(string)
功能: 返回大写的string.不是字母的字符不变.如果string是CHAR数据类型的,那么结果也是CHAR类型的.如果string是VARCHAR2类型的,那么结果也是VARCHAR2类型的.
使用位置: 过程性语句和SQL语句。
二、字符函数——返回数字
   这些函数接受字符参数回数字结果.参数可以是CHAR或者是VARCHAR2类型的.尽管实际下许多结果都是整数值,但是返回结果都是简单的NUMBER类型的,没有定义任何的精度或刻度范围.

ASCII
语法:  ASCII(string)
功能: 数据库字符集返回string的第一个字节的十进制表示.请注意该函数仍然称作为ASCII.尽管许多字符集不是7位ASCII.CHR和ASCII是互为相反的函数.CHR得到给定字符编码的响应字符. ASCII得到给定字符的字符编码.
使用位置: 过程性语句和SQL语句。

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的取值是多少.
使用位置: 过程性语句和SQL语句。
2.INSTR(string,subString,position,ocurrence)查找字符串位置
解释:string:源字符串
      subString:要查找的子字符串
      position:查找的开始位置
      ocurrence:源字符串中第几次出现的子字符串
For example:
INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置;返回结果为 14 。

INSTRB
语法:  INSTRB(string1, string2[a,[b]])
功能:  和INSTR相同,只是操作的对参数字符使用的位置的是字节.
使用位置: 过程性语句和SQL语句。

LENGTH
语法:  LENGTH(string)
功能:  返回string的字节单位的长度.CHAR数值是填充空格类型的,如果string由数据类型CHAR,它的结尾的空格都被计算到字符串长度中间.如果string是NULL,返回结果是NULL,而不是0.
使用位置: 过程性语句和SQL语句。

LENGTHB
语法:  LENGTHB(string)
功能:  返回以字节为单位的string的长度.对于单字节字符集LENGTHB和LENGTH是一样的.
使用位置: 过程性语句和SQL语句。

NLSSORT
语法: NLSSORT(string[,nlsparams])
功能: 得到用于排序string的字符串字节.所有的数值都被转换为字节字符串,这样在不同数据库之间就保持了一致性. Nlsparams的作用和NLS_INITCAP中的相同.如果忽略参数,会话使用缺省排序.
使用位置: 过程性语句和SQL语句。
分享到:
评论

相关推荐

    oracle常用字符函数

    Oracle数据库中的字符函数是SQL和PL/SQL编程中不可或缺的一部分,它们主要用于处理和操作文本数据。以下是对给定文件中提到的一些主要字符函数的详细解释: 1. ASCII(n) 函数: - 该函数返回字符串的第一个字符的...

    最新单片机仿真 字符函数ctype.h应用举例

    最新单片机仿真 字符函数ctype.h应用举例最新单片机仿真 字符函数ctype.h应用举例最新单片机仿真 字符函数ctype.h应用举例最新单片机仿真 字符函数ctype.h应用举例最新单片机仿真 字符函数ctype.h应用举例最新单片机...

    基于Keil实现字符函数ctype.h的应用

    基于Keil实现字符函数ctype.h的应用基于Keil实现字符函数ctype.h的应用基于Keil实现字符函数ctype.h的应用基于Keil实现字符函数ctype.h的应用基于Keil实现字符函数ctype.h的应用基于Keil实现字符函数ctype.h的应用...

    LCD显示任意字符函数,包含ST7789初始化函数

    LCD显示技术在嵌入式系统和物联网设备中...ST7789初始化函数和相关驱动函数的实现,使得开发者能够方便地在LCD屏幕上显示任意字符和图片,提供丰富的用户界面。对于嵌入式系统开发者来说,理解和掌握这些知识至关重要。

    302-字符函数ctype.h应用举例(51单片机C语言实例Proteus仿真和代码)

    302-字符函数ctype.h应用举例(51单片机C语言实例Proteus仿真和代码)302-字符函数ctype.h应用举例(51单片机C语言实例Proteus仿真和代码)302-字符函数ctype.h应用举例(51单片机C语言实例Proteus仿真和代码)302-字符...

    Oracle_Sql_中常用字符串处理函数

    7. 字符函数 CHR() Oracle Sql 提供了 CHR() 函数,用于将整数转换为对应的字符。 示例:SELECT CHR(65) FROM dual; -- 返回 A 8. 字符串连接函数 CONCAT() Oracle Sql 提供了 CONCAT() 函数,用于连接两个字符...

    C语言字符函数和字符串函数_c_

    字符函数和字符串函数极大地提高了我们对文本数据操作的效率和灵活性。以下是对标题和描述中提及的这些知识点的详细阐述。 1. **字符变量与类型** 在C语言中,字符数据类型用`char`表示。一个`char`变量可以存储一...

    C常用库函数-表 数学函数、字符函数、字符串函数、输入输出函数、动态分配函数和随机函数

    字符函数主要在`<ctype.h>`头文件中定义,用于处理ASCII字符: 1. `isalnum()`检查字符是否为字母或数字。 2. `isalpha()`判断字符是否为字母。 3. `iscntrl()`检测字符是否为控制字符。 4. `isdigit()`确认字符是否...

    oracle字符函数[归类].pdf

    Oracle字符函数是数据库管理系统Oracle中处理字符串数据的重要工具,它们主要用于对字符数据进行各种操作,如提取、转换、格式化等。以下是对标题和描述中提及的一些主要Oracle字符函数的详细说明: 1. ASCII(n)...

    matlab字符函数.pdf

    在MATLAB中,字符函数是处理字符串数据的关键工具,它们允许用户进行字符串的转换、格式化和操作。本文将深入探讨几种重要的MATLAB字符函数,包括字符串与ASCII、十进制、十六进制之间的转换,以及如何将数值插入到...

    oracle的字符函数.docx

    Oracle数据库中的字符函数是SQL查询中非常重要的组成部分,它们用于处理和操作字符串数据。下面将详细介绍标题和描述中提到的一些关键字符函数。 1. **大小写控制函数**: - `lower()` 函数用于将字符串转换为全...

    oracle字符函数.pdf

    Oracle字符函数是数据库管理系统Oracle中处理字符串数据的重要工具,它们主要用于对字符数据进行各种操作,如转换大小写、获取ASCII码、拼接字符串等。在SQL查询和PL/SQL编程中,这些函数非常常见且实用。 1. ASCII...

    C++宽字符函数[文].pdf

    在C++编程中,宽字符函数是处理宽字符(通常为UTF-16编码的Unicode字符)的函数,主要用于处理包含非ASCII字符的字符串。这些函数在处理多语言或者需要支持复杂文字系统的程序中非常有用。以下是一些重要的宽字符...

    单片机C语言实例-字符函数ctype.h应用举例.zip

    本实例聚焦于在单片机编程中使用C语言处理字符的技巧,特别是通过ctype.h头文件提供的字符函数。ctype.h是C语言的标准库,包含了一系列用于检查字符类别的函数,如判断字符是否为字母、数字、空格等。下面将详细介绍...

    matlab字符函数[归类].pdf

    在MATLAB中,字符函数是处理字符串数据的关键工具,它们被广泛用于数据转换、文本输出以及格式化。MATLAB提供了一系列的内置函数来满足这些需求,包括字符串与数字之间的转换,以及格式化输出等。 首先,`abs`函数...

    单片机C语言源码学习参考-字符函数ctype.h应用举例.zip

    本资料包“单片机C语言源码学习参考-字符函数ctype.h应用举例.zip”主要聚焦于C语言中的字符处理函数,特别是`ctype.h`头文件中的函数,这些函数在处理字符串和字符时非常有用。下面将详细介绍`ctype.h`库中的关键...

    字符函数ctype.h应用举例.zip

    这个压缩包“字符函数ctype.h应用举例.zip”显然提供了关于如何在实际项目中运用`ctype.h`的一些示例。`ctype.h`库包含了如`isalpha()`,`isdigit()`,`isupper()`,`islower()`等一系列函数,它们用于判断一个字符...

Global site tag (gtag.js) - Google Analytics