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

时间: 2024-10-30 07:51:56

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

oracle的单行函数:字符函数

字符函数 1.ASCII(x)和chr(x) ASCII(x):返回字符x的ASCII码 chr(x):返回ASCII码为x的字符 2.concat(x,y) 用于将y添加到x之后,与||功能一样 3.initcap(x) 将x中的每个单词的首字母转换成大写 4.instr(x,find_string[,start][,occurence]) 在x中查找find_string,返回find_string所在的位置 可选参数start:说明从x中的哪个位置开始查找,第一个位置为1. 可选参数occ

Oracle反转倒置函数及单行转换函数

Oracle反转倒置函数 Oracle提供了一个反转倒置函数reverse,但此函数不能分组倒置,本文提供了一个即可分组倒置的函数,如下所示: CREATE OR REPLACE FUNCTION REVERSE_F(p_str VARCHAR2, p_delimiter VARCHAR2:='')   RETURN VARCHAR2 IS   v_return VARCHAR2(4000);   vp_str  VARCHAR2(4000) := p_str;   v_idx    numbe

mysql oracle 分割字符函数

问题描述 mysql oracle 分割字符函数 5C 8:5;71:41;1:8;2:12;3:17;4:20 这样格式的字段传一个冒号前面的值,输出冒号后面的值怎么实现 解决方案 google oracle实现split 解决方案二: select substring_index('8:5'':' -1) from table where substring_index('8:5'':' 1) = 8

Oracle中处理LOB字段的常用字符函数

以前处理LOB字段都是使用DBMS_LOB包,最近看了文档才发现,原来很多常用的字符函数都是支持LOB字段的. 建立一个测试表: SQL> CREATE TABLE T_LOB (ID NUMBER, CONTENTS CLOB); Table created. SQL> DECLARE 2     V_LOB CLOB; 3  BEGIN 4        INSERT INTO T_LOB 5     VALUES (1, EMPTY_CLOB()) 6     RETURN  CONTE

ORACLE 常用函数——字符函数

-----------------------------------------------字符函数--------------------------------------------- --1: ASCII 返回字符串的ASCII值 SELECT ASCII('A') FROM DUAL; SELECT ASCII('a') FROM DUAL; --2: CHR 返回整数所对应的ASCII字符 SELECT CHR('65') FROM DUAL; SELECT CHR(400) FR

【函数】Oracle函数系列(1)--字符函数

[函数]Oracle函数系列(1)--字符函数   1  BLOG文档结构图    BLOG_Oracle_lhr_函数系列(1)--字符函数.pdf 2  前言部分   2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 常见字符函数(lower.upper.initcap.concat.substr.length.intr.lpad.rpad.trim.chr.ascii.replace.translate

Oracle数据库入门之函数/类型

Oracle主要数据类型 概述:各种数据库所支持的数据类型大同小异,与标准SQL语言中的数据类型可能略有出入 类型:varchar2:可以在声明字段时设置它的长度上限.而且使用它之后,就不必再考虑空格的存在 若插入的字符串的长度低于长度上限,系统就会自动将其缩减为字符串的真实长度 number(m,n):既可以用来表示整型,也可以表示浮点型.但m不可以超过38.如果n为0或者省略n,就代表它是整数 date:用来存放日期和时间 blob:通常是在应用程序中使用到它,而不是在数据库中利用SQL指令

oracle的日期时间函数

经常写 sql 的同学应该会接触到一些 oracle 的日期时间函数, 例如: 财务软件或者人力资源软件需要按照每年, 每季度, 每月, 甚至每个星期来进行统计. 今天闲来没事, 特意从网上整理了一些资料, 以备日后查阅. 一.常用日期数据格式 1. 获取年的最后一位, 两位, 三位, 四位 select to_char(sysdate,'Y') from dual;    -- 获取年的最后一位 select to_char(sysdate,'YY') from dual;    -- 获取年

Oracle分组与组函数

一.求和与求平均 1.什么是组函数 组函数就是我们前面我说过的多行函数.它主要针对表进行操作.因为只有表中,才有多行数据.下面我们以SUM和AVG这两个组函数为例,先从它们开始,介绍组函数的特性. 2.SUM 求和函数 gyj@OCM> select sum(salary) from t1; SUM(SALARY) ----------- 315888 ORACLE在执行SUM()函数时,会从SALARY列取出每一行,把结果累加到一起.我们在讲单行函数和多行函数时就说过,对于单行函数,将列中每一