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
---------------- ----
0011cc@#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单字符函数的函数的更多相关文章
- ORACLE 常用字符函数
ORACLE 常用字符函数1 ASCII(arg1)返回参数arg1的十进制数字表示.如果数据库设置为ASCII,则采用的是ASCII码字符.如果设置为EBCDIC,则采用的是EBCDIC字符 sel ...
- 基础 - 字符读取函数scanf、getchar、gets、cin(清空缓存区解决单字符回车问题)
0x01 scanf.getchar.cin读取单字符: 如下: //scanf读取字符 回车问题 void Sub_1_1() { char v1,v2; scanf("%c", ...
- ORACLE常用数值函数、转换函数、字符串函数
本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数.分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表 ...
- 四、oracle基本sql语句和函数详解
一.oracle常用数据类型 一. 数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构 ...
- MySQL存储过程中的3种循环,存储过程的基本语法,ORACLE与MYSQL的存储过程/函数的使用区别,退出存储过程方法
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
- .Net程序员学用Oracle系列(9):系统函数(上)
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.字符函数 1.1.字符函数简介 1.2.语法说明及案例 2.数字函数 2.1.数字函数简介 2.2.语法说明及案例 3.日期 ...
- .Net程序员学用Oracle系列(10):系统函数(下)
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2. ...
- .Net程序员学用Oracle系列(10):系统函数(中)
1.四大转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.两大近似值函数 2.1.ROUND 2.2.TRUNC 3.正则函数 3.1.正则函 ...
- Oracle date timestamp 毫秒 - 时间函数总结(转)
原文地址:Oracle date timestamp 毫秒 - 时间函数总结 yyyy-mm-dd hh24:mi:ss.ff 年-月-日 时:分:秒.毫秒 --上一月,上一年select add_ ...
随机推荐
- linux中vsftpd配置文件详解
vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格.对于每个配置命令,在配置文件中还列出了相关的配置说明 ...
- [C++]new和delete
Date:2014-1-5 Summary: C++中的动态内存创建与释放(这里就只记录C++中的new和delete了,其他的C风格操作就略过了) 单独记录new和delete的原因是为了学习时候关 ...
- Tiny server:小型Web服务器
一.背景 csapp的网络编程粗略的介绍了关于网络编程的一些知识,在最后的一节主要就实现了一个小型的Webserver.这个server名叫Tiny,它是一个小型的可是功能齐全的Webserver.在 ...
- TCP/IP详细解释--TCP/IP可靠的原则 推拉窗 拥塞窗口
TCP和UDP在同一水平---传输层.但TCP和UDP最不一样的地方.TCP它提供了一个可靠的数据传输服务,TCP是面向连接的,那.使用TCP两台主机通过第一通信"拨打电话"这个过 ...
- C语言实现通讯录
<span style="font-size:18px;">#include<stdio.h> #include<string.h> #incl ...
- Oracle Client: TNS: Connect timeout ocurred.
1. 检查Oracle Server 的防火墙是否关闭. 2. Client, Server 重启.
- 【ASP.NET】验证控件
在软件开发中,验证输入信息是否正确,这是不可缺少的一项工作.就拿我们做过的机房收费系统来说,在登录的时候,我们须要对username和用户password进行验证.推断是否为空,推断输入字符是否合理等 ...
- net 面向接口框架
Asp.net 面向接口框架之应用程序上下文作用域组件 在团队中推广面向接口开发两年左右,成果总体来说我还是挺满意的,使用面向接口开发的模块使用Unity容器配置的功能非常稳定,便于共享迁移(另一个项 ...
- java -D參数简化增加多个jar【简化设置classpath】
1.-D<name>=<value> set a system property 设置系统属性. java命令引入jar时能够-cp參数,但时-cp不能用通配符(多个jar时 ...
- sys_refcursor的使用方法实例
--创建过程,參数为sys_refcursor,为out型 create or replace procedure aabbsys_refcursor(o out sys_refcursor) is ...