ORACLE函数之单行字符函数



1、           ASCII(C)

说明:返回C的首字符在ASCII码中对应的十进制

举例:

SQL>SELECT ASCII(‘A‘) A,ASCII(‘a‘) B,ASCII(‘0‘) C,ASCII(‘ ‘) D FROM DUAL;

A         B         
C         D

-------------------- ---------- ----------

65        97        
48        32

2、         CHR(N)

说明:返回十进制ASCII码N对应的字符

举例:

SQL>SELECT CHR(65) A,CHR(97) B,CHR(48) C,CHR(32) D FROM DUAL;

A B CD

- - --

A a 0

3、           CONCAT(C1,C2)

说明:返回将C2添加到C1后面而形成的字符串。如果C1为NULL,那么返回C2;如果C2为NULL,那么返回C1;如果C1和C2都为NULL,那么返回NULL

举例:

SQL>SELECT CONCAT(‘010-‘,‘8888‘) A,CONCAT(NULL,‘8888‘) B,CONCAT(‘010-‘,NULL)C,CONCAT(NULL,NULL) D FROM DUAL;

A       B   C   D

------------ ---- -

010-88888888 010-

4、           INITCAP(C)

说明:返回C的每个首字符都大写、其他字符都小写的字符串。单词之间以空格,控制字符和标点符号分界

举例:

SQL>SELECT INITCAP(‘you are‘) A FROM DUAL;

A

-------

YouAre

5、           INSTR(C1,C2[,N[,M]])

说明:在C1中从N开始搜索C2第M次出现的位置,并返回该位置数字。如果N是负数,则搜索从右向左进行,但位置数字仍然从左向右计算。N和M默认都是1

举例:

SQL>SELECT INSTR(‘aabbccddee‘,‘cc‘) A,INSTR(‘aabbccddee‘,‘cc‘,5)B,INSTR(‘aabbccddeecc‘,‘cc‘,1,2) C,INSTR(‘aabbccddee‘,‘cc‘,-6) D FROM DUAL;

A         B
         C         D

-------------------- ---------- ----------

5         5        
11         5

6、           LENGTH(C)

说明:返回C的长度。包括所有的后缀空格;如果C是空字符串或者NULL,则返回NULL

举例:

SQL> SELECT LENGTH(‘aabbccdd‘) A,LENGTH(‘‘) B,LENGTH(NULL) C FROM DUAL;

A          B          C

---------- ---------- ----------

8

7、          LOWER(C)

说明:返回将C全部字符都小写之后的字符串

举例:

SQL>SELECT LOWER(‘AaBbCcDd‘) A FROM DUAL;

A

--------

aabbccdd

8、         LPAD(C1,N[,C2])

说明:在C1的左边填充C2,直到字符串的总长度达到N。C2的默认值为空格。如果C1的长度大于N,则返回C1左边的N个字符

举例:

SQL>SELECT LPAD(‘aabbcc‘,8) A,LPAD(‘aabbcc‘,4) B,LPAD(‘aabbcc‘,8,‘0‘) C FROM DUAL;

A       B   C

------------ --------

aabbcc aabb 00aabbcc

9、         LTRIM(C1[,C2])

说明:去掉C1左边所包含的C2中的任何字符,当遇到不是C2中的字符时结束,然后返回剩余的字符串。C2默认为空格

举例:

SQL>SELECT LTRIM(‘ aabb ‘) A,LTRIM(‘00aabb00‘,‘0‘) B FROM DUAL;

A     B

------------

aabb  aabb00

10、       NANVL(X,value)

说明:该函数只对BINARY_FLOAT和BINARY_DOUBLE起作用。如果X匹配NaN(即非数字),就返回value,否则返回X

举例(PL/SQL中无法执行,必须在SQLPLUS里执行):

SQL>CREATETABLE
NANVL_demo(dec_numNUMBER(10,2),
bin_doubleBINARY_DOUBLE, bin_floatBINARY_FLOAT);

表已创建。

SQL>INSERTINTO
NANVL_demoVALUES(0,‘NaN‘,‘NaN‘);

已创建1行。

SQL>SELECT*FROM
NANVL_demo;

DEC_NUM BIN_DOUBLE BIN_FLOAT

---------- ---------- ----------

0       Nan       Nan

SQL>SELECT
bin_float,NANVL(bin_float,0)FROM
NANVL_demo;

BIN_FLOATNANVL(BIN_FLOAT,0)

---------- ------------------

Nan                 0

11、       NVL(X,value)

说明:如果X为空,就返回value,否则返回X

举例:

SQL>SELECT NVL(‘‘,‘aabb‘) A,NVL(NULL,‘aabb‘) B,NVL(‘aa‘,‘aabb‘) C FROM DUAL;

A   B   C

-------- --

aabbaabb aa

12、      NVL2(X,value1,value2)

说明:如果X为空,就返回value1,否则返回value2

举例:

SQL>SELECT NVL2(‘‘,‘aabb‘,‘ccdd‘) A,NVL2(NULL,‘aabb‘,‘ccdd‘)B,NVL2(‘aa‘,‘aabb‘,‘ccdd‘) C FROM DUAL;

A   B   C

-------- ----

ccddccdd aabb

13、       REPLACE(C1,C2[,C3])

说明:把C1中出现的C2都置换成C3,然后返回剩余的字符串。C3默认为NULL。如果C3为NULL,那么所有出现C2的地方的字符都被删除;如果C2为NULL,则将返回C1;如果C1为NULL,则将返回NULL

举例:

SQL>SELECT REPLACE(‘aabbccaabb‘,‘aa‘,‘00‘) A,REPLACE(‘aabbccaabb‘,‘aa‘)B,REPLACE(‘aabbccaabb‘,NULL) C FROM DUAL;

A         B     C

---------------- ----------

00bbcc00bbbbccbb aabbccaabb

14、       RPAD(C1,N[,C2])

说明:在C1的右边填充C2,直到字符串的总长度到达N。C2的默认值为空格。N是返回的字节长度的字符串,如果这个数量比原字符串的字节长度要短,RPAD函数将会把字符串截取成从左到右的N个字符

举例:

SQL>SELECT RPAD(‘aabbcc‘,8) A,RPAD(‘aabbcc‘,4) B,RPAD(‘aabbcc‘,8,‘0‘) C FROM DUAL;

A       B   C

------------ --------

aabbcc  aabb aabbcc00

15、   RTRIM(C1[,C2])

说明:去掉C1右边所包含的C2中的任何字符,当遇到不是C2中的字符时结束,然后返回剩余的字符串。C2默认为空格

举例:

SQL>SELECT RTRIM(‘ aabb ‘) A,RTRIM(‘00aabb00‘,‘0‘) B FROM DUAL;

A     B

------------

aabb 00aabb

16、      SUBSTR(C,M[,N])

说明:返回C的子串,其中M是子串开始的位置,N是子串的长度。如果M为0,则从C的首字符开始:如果M是负数,则从C的结尾的指定位置开始

举例:

SQL>SELECT SUBSTR(‘aabbccdd‘,3) A,SUBSTR(‘aabbccdd‘,3,2) B,SUBSTR(‘aabbccdd‘,-3,2)C FROM DUAL;

A     B C

-------- --

bbccddbb cd

17、     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(‘aabbcc‘,‘aabb‘,‘0011‘) A,TRANSLATE(‘abcbbaadef‘,‘ba‘,‘#@‘)B,TRANSLATE(‘22AABBCC22‘,‘0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ‘,‘0123456789‘)
Cfrom dual;

A     B         C

---------------- ----

[email protected]#c##@@def 2222

18、      TRIM([C1]
C2 FROM C3)

说明:其中,C1是保留宇,可以取如下字符串:LEADING、TRAILING和BOTH,C1必须和FROM一起使用。从C3字符串的C1处开始,删除C2字符,然后返回剩余的C3字符串。C1默认为BOTH。C2默认为空格。如果C1,C2,C3中有任何一个为NULL,则返回NULL

举例:

SQL>SELECT TRIM(‘ aabb ‘) A,TRIM(LEADING ‘0‘ FROM ‘00aabb00‘)B,TRIM(TRAILING ‘0‘ FROM ‘00aabb00‘) C,TRIM(BOTH ‘0‘ FROM ‘00aabb00‘)
D FROMDUAL;

A   B     C     D

---------- ------ ----

aabbaabb00 00aabb aabb

19、    UPPER(C)

说明:返回将C全部字符都大写之后的字符串

举例:

SQL>SELECT UPPER(‘aabbccdd‘) A FROM DUAL;

A

--------

AABBCCDD

ORACLE函数之单行字符函数

时间: 2024-08-09 02:03:47

ORACLE函数之单行字符函数的相关文章

ORACLE函数之单行转换函数

 1           ASCIISTR 格式:ASCIISTR(C) 说明:将字符串C转换为ASCII字符串,即将C中的ASCII字符保留不变,但非ASCII字符则以ASCII表示返回 举例: SQL>SELECT ASCIISTR('AB?CDE数据库') A FROM DUAL; A --------------------- AB?CDE\6570\636E\5E93 2           BIN_TO_NUM 格式:BIN_TO_NUM(n1,n2,n3...) 说明:每位由n

ORACLE函数之单行数字函数

 1.           ABS(X) 返回X的绝对值 SQL>SELECT ABS(-1) A,ABS(1) B,ABS(0) C FROM DUAL; A          B          C -------------------- ---------- 1          1          0 2.          ACOS(X) 返回X的反余弦值 SQL>SELECT ACOS(0) A,ACOS(0.5) B,ACOS(1) C FROM DUAL; A    

Oracle 截取、查找字符函数(持续更新)

整理一些常用的截取.查找字符函数: 1.查找某一个字符串中某一个字符(串)出现的次数 SELECT LENGTH(REGEXP_REPLACE(REPLACE('anne<br>lily<br>jane', '<br>', '@'),  '[^@]+',  '')) COUNT FROM DUAL; --返回2 2.判断某个字符是否在源字符串出现过select instr('anne<br>lily<br>jane','<br>',1

四、oracle基本sql语句和函数详解

一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构的数据定义语言命令有: create table alter table truncate table drop table eg. --创建tb_stu表数据结构 create table tb_stu( id number, name varchar2(20) );   --修改tb_stu表数

oracle常用数据库内置函数

函数 返回值 样例 显示 CEIL(n) 大于或等于数值n的最小整数 SELECT CEIL(10.6) FROM TABLE_NAME; 11 FLOOR(n) 小于等于数值n的最大整数 SELECT FLOOR (10.6) FROM TABLE_NAME; 10 MOD(m,n) m除以n的余数,若n=0,则返回m SELECT MOD (7,5) FROM TABLE_NAME l; 2 POWER(m,n) m的n次方 SELECT POWER (3,2) FROM TABLE_NAM

一、oracle基本sql语句和函数详解

一. 数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构的数据定义语言命令有: create table alter table truncate table drop table eg. --创建tb_stu表数据结构 create table tb_stu( id number, name varchar2(20) ); --修改tb_stu表数据结构,新增一列 alter tab

mysql 基本字符函数

#查看当前字符集 SHOW VARIABLES LIKE '%char%'; #单行函数 USE myemployees;#字符函数 SELECT LENGTH('哈哈') #获取参数字节个数 SELECT CONCAT(last_name,'_',first_name) FROM employees; #字符串拼接 SELECT UPPER('aaa'); #转换成大写 SELECT LOWER('AAA'); #转换成小写 #mysql中索引位置从1开始,sbstr和substring效果一

分组函数/聚合函数/多行处理函数

什么是单行处理函数,什么又是多行处理函数? 单行处理函数:lower,upper,round,rand,length,ifnull等,都是一个输入对应一个输出: 多行处理函数:count,sum,avg,max,min,都是多个输入对应一个输出 注意:多行处理函数自动忽略空值,而且不能在where字句中使用 关于count()函数: 括号里面若是字段名:取得字段里不为空的元素总数 括号里若是*:取得满足条件的所有元素总数 原文地址:https://www.cnblogs.com/xqr2018/

Oracle单行函数之字符函数

本次主要总结了以下字符函数的作用及使用方法: 函 数说 明 ASCII返回对应字符的十进制值 CHR给出十进制返回字符 CONCAT拼接两个字符串,与 || 相同 INITCAT将字符串的第一个字母变为大写 INSTR找出某个字符串的位置 INSTRB找出某个字符串的位置和字节数 LENGTH以字符给出字符串的长度 LENGTHB以字节给出字符串的长度 LOWER将字符串转换成小写 LPAD使用指定的字符在字符的左边填充 LTRIM在左边裁剪掉指定的字符 RPAD使用指定的字符在字符的右边填充