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_ ...
随机推荐
- 执行Asp.net应用程序在Linux上的3种托管方式
执行Asp.net应用程序在Linux上的3种托管方式 想要执行Asp.net应用程序在Linux上.我们有3种选择: 1.使用Apache作为Webserver.使用mod_mono:http:// ...
- [Android学习笔记]自定义控件的使用
自定义控件时,最好抽象得彻底,并且编写需严谨,因为可能程序中多处都会引用到它,或者提供给团队中的其他人使用. 其一般步骤为: 1.创建控件的类文件,定义其功能逻辑.一般继承自现有控件或者View2.在 ...
- WPF 设置WebBrowser控件不弹脚本错误提示框
using System.Reflection; using System.Windows; using System.Windows.Controls; using System.Windows.N ...
- 实现ios常见菜单效果的思路
眼下见过的实现边側菜单的效果.比較流行的有下面三种:(效果图) 1.菜单条覆盖在部分主视图上 附上实现该效果的一个不错的源代码地址: http://code4app.com/ios/RNFrosted ...
- pcduino v2安装opencv2.4.8
安装例如以下包: sudo apt-get install build-essential make cmake libqt4-dev qt4-qtconfig cmake-qt-gui pkg-co ...
- ZooKeeper场景实践:(2)集中式配置管理
1. 基本介绍 在分布式的环境中,可能会有多个对等的程序读取相同的配置文件,程序能够部署在多台机器上,假设配置採用文件的话,则须要为部署该程序的机器也部署一个配置文件,一旦要改动配置的时候就会很麻烦, ...
- Nginx对某个文件夹或整个站点进行登录认证的方法
比方要对 站点文件夹下的 test 文件夹 进行加密认证 首先须要在opt 的主文件夹中 /opt/ 创建一个新文件 htpasswd 此文件的书写格式是 username:password 每行一个 ...
- orcl 删除重复的行
delete from FOODDETAIL t where t.id in (select t.id from FOODDETAIL where t.sendtime>=to_date(' ...
- MYSQL中取当前年份的第一天和当前周,月,季度的第一天/最后一天
mysql 获取当年第一天的年月日格式:SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY); MySQL里获取当前week.month ...
- unity3d教程动态创建简单平面地形
unity3d创建地形是不须要usingUnityEditor的.这里使用了AssetDatabase.所以需using UnityEditor; 创建三步: 1.TerrainData terrai ...