oracle数据库 SQL语句、内置函数大全
1、数值函数
函数 返回值 样例 显示
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_NAME; 9
ROUND(n,m) 将n四舍五入,保留小数点后m位 SELECT ROUND (1234.5678,2) FROM TABLE_NAME; 1234.57
SIGN(n) 若n=0,则返回0,否则,n>0,则返回1,n<0,则返回-1 SELECT SIGN (12) FROM TABLE_NAME; 1
SQRT(n) n的平方根 SELECT SQRT (25) FROM TABLE_NAME; 5
2、常用字符函数
INITICAP(char) 把每个字符串的第一个字符换成大写 SELECT INITICAP ('mr.ecop') FROM TABLE_NAME; Mr.Ecop
LOWER(char) 整个字符串换成小写 SELECT LOWER ('MR.ecop') FROM TABLE_NAME; mr.ecop
REPLACE(char,str1,str2) 字符串中所有str1换成str2 SELECT REPLACE ('Scott','s','Boy') FROM TABLE_NAME; Boycott
SUBSTR(char,m,n) 取出从m字符开始的n个字符的子串 SELECT SUBSTR ('ABCDEF',2,2) FROM TABLE_NAME; CD
LENGTH(char) 求字符串的长度 SELECT LENGTH ('ACD') FROM TABLE_NAME; 3
|| 并置运算符 SELECT 'ABCD'||'EFGH' FROM TABLE_NAME; ABCDEFGH
3、日期型函数
SYSDATE 当前日期和时间 SELECT SYSDATE FROM TABLE_NAME;
LAST_DAY 本月最后一天 SELECT LAST_DAY(SYSDATE) FROM TABLE_NAME;
ADD_MONTHS(d,n) 当前日期d后推n个月 SELECT ADD_MONTHS (SYSDATE,2) f FROM TABLE_NAME;
MONTHS_BETWEEN(d,n)
日期d和n相差月数 SELECT MONTHS_BETWEEN(SYSDATE,TO_DATE('20020812','YYYYMMDD'))FROMTABLE_NAME;
NEXT_DAY(d,day) d后第一周指定day的日期 SELECT NEXT_DAY (SYSDATE,'Monday') FROM TABLE_NAME;
day 格式 有 'Monday' 星期一 'Tuesday' 星期二
'wednesday' 星期三 'Thursday' 星期四 'Friday' 星期五
'Saturday' 星期六 'Sunday' 星期日
4、特殊格式的日期型函数
Y或YY或YYY 年的最后一位,两位,三位 SELECTTO_CHAR(SYSDATE,'YYY') FROM TABLE_NAME;
Q 季度,1-3月为第一季度 SELECT TO_CHAR(SYSDATE,'Q') FROM TABLE_NAME;
MM 月份数 SELECT TO_CHAR(SYSDATE,'MM') FROM TABLE_NAME;
RM 月份的罗马表示 SELECT TO_CHAR(SYSDATE,'RM') FROM TABLE_NAME; IV
month 用9个字符表示的月份名 SELECT TO_CHAR(SYSDATE,'month') FROM TABLE_NAME;
ww 当年第几周 SELECT TO_CHAR(SYSDATE,'ww') FROM TABLE_NAME l;
w 本月第几周 SELECT TO_CHAR(SYSDATE,'w') FROM TABLE_NAME;
DDD 当年第几天,一月一日为001 ,二月一日032 SELECT TO_CHAR(SYSDATE,'DDD') FROM TABLE_NAME;
DD 当月第几天 SELECT TO_CHAR(SYSDATE,'DD') FROM TABLE_NAME;
D 周内第几天 SELECT TO_CHAR(SYSDATE,'D') FROM TABLE_NAME; 如 sunday
DY 周内第几天缩写 SELECT TO_CHAR(SYSDATE,'DY') FROM TABLE_NAME; 如 sun
hh12 12小时制小时数 SELECT TO_CHAR(SYSDATE,'hh12') FROM TABLE_NAME;
hh24 24小时制小时数 SELECT TO_CHAR(SYSDATE,'hh24') FROM TABLE_NAME;
Mi 分钟数 SELECT TO_CHAR(SYSDATE,'Mi') FROM TABLE_NAME;
ss 秒数 SELECT TO_CHAR(SYSDATE,'ss') FROM TABLE_NAME;
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH:24:mi:ss') FROM TABLE_NAME;
TO_NUMBER() 将合法的字符串转换为数字 SELECT TO_NUMBER ('88877') FROM TABLE_NAME; 88877
TO_CHAR() 将数字转换为字符串 SELECT TO_CHAR(88877) FROM TABLE_NAME; '88877'
5、字符函数
字符函数主要用于修改字符列。这些函数接受字符输入,返回字符或数字值。Oracle 提供的一些字符函数如下。
1. CONCAT (char1, char2)
返回连接“char2”的“char1”。
示例 SELECT CONCAT( CONCAT( COLUMN_NAME, ' is a '), job) FROM TABLE_NAME;
2. INITCAP(string)
将“string”的字符转成大写。
SELECT INITCAP( COLUMN_NAME) from TABLE_NAME;
3. LOWER (string)
将“string”转成小写。
SELECT LOWER( COLUMN_NAME) from TABLE_NAME;
4. LPAD(char1,n [,char2])
返回“char1”,左起由“char2”中的字符补充到“n”个字符长。如果“char1”比“n”长,则函数返回“char1”的前“n”个字符。
SELECT LPAD( COLUMN_NAME,15,'*') FROM TABLE_NAME;
5. LTRIM(string,trim_set)
从左边删除字符,此处“string”是数据库的列,或者是字面字符串,而“trim_set” 是我们要去掉的字符的集合。
SELECT LTRIM('abcdab','a') FROM TABLE_NAME;
6. REPLACE(string, if, then)
用 0 或其他字符代替字符串中的字符。“if”是字符或字符串,对于每个出现在“string”中的“if”,都用“then”的内容代替。
SELECT REPLACE('JACK and JUE','J','BL') FROM TABLE_NAME;
7. RPAD(char1, n [,char2])
返回“char1”,右侧用“char2”中的字符补充到“n”个字符长。如果 “char1”比“n” 长,则函数返回“char1”的前“n”个字符。
SELECT RPAD( COLUMN_NAME,15,'*') FROM TABLE_NAME;
8. RTRIM(string,trim_set)
从右侧删除字符,此处“string”是数据库的列,或者是字面字符串,而“trim_set” 是我们要去掉的字符的集合。
SELECT RTRIM('abcdef', 'f') FROM TABLE_NAME;
9. SOUNDEX(char)
返回包含“char”的表意字符的字符串。它允许比较英语中拼写不同而发音类似的字。
SELECT COLUMN_NAME FROM TABLE_NAME WHERE SOUNDEX( COLUMN_NAME) = SoUNDEX('SMYTHE');
10. SUBSTR(string, start [,count])
返回“string”中截取的一部分。该命令截取“string”的一个子集,从“start”位置开始,持续“count”个字符。如果我们不指定“count”,
则从“start”开始截取到“string”的尾部。
SELECT SUBSTR('ABCDEFGIJKLM',3,4) FROM TABLE_NAME;
11. TRANSLATE(string, if, then)
“if”中字符的位置,并检查“then”的相同位置,然后用该位置的字符替换 “string”中的字符。
SELECT TRANSLATE( COLUMN_NAME,'AEIOU', 'XXXXX') FROM TABLE_NAME;
12. UPPER(string)
返回大写的“string”。
SELECT UPPER('aptech computer education') FROM TABLE_NAME;
13. ASCII(string)
该命令是“American Standard Code for Information Interchange”的缩写。它是使用数字表示可打印字符的基本规则。
该函数返回 “string”中第一个(最左边)字符的 ASCII 值。
SELECT ASCII('APTECH') FROM TABLE_NAME;
14. INSTR (string, set[, start[, occurrence] ] )
该命令“string”中从“start”位置开始查找字符集合的位置,再查找“set”出现的第一次、第二次等等的“occurrence”(次数)。
“start”的值也可以是负数,代表从字符串结尾开始向反方向搜索。该函数也用于数字和日期数据类型。
SELECT INSTR('aptech is aptech','ap',1,2) FROM TABLE_NAME;
15. LENGTH(string)
返回“string”的长度值。
SELECT COLUMN_NAME, LENGTH( COLUMN_NAME) FROM TABLE_NAME;
6、NULL函数
1.COALESCE(expr)
返回表达式列表中第一个不为NULL的函数,如果都为NULL,则返回一个null
SELECT COALESCE(NULL,9-9,NULL) FROM TABLE_NAME;
2.LNNVL(condition)
返回除了condition要求的条件之外的数据,包括NULL的条件,通常用于WHERE条件中
SELECT COLUMN_NAME1,...COLUMN_NAME2 FROM TABLE_NAME WHERE LNNVL(condition);
3.NVL(expr1,expr2[,expr3])
NVL(expr1,expr2),替换NULL值,如果expr1为NULL值,则返回expr2的值,否则返回expr1的值。该函数要求两个参数类型一致至少相互
之间可以进行隐式的转换
SELECT NVL(COLUMN_NAME1,COLUMN_NAME2) FROM TABLE_NAME;
NVL(expr1,expr2,expr3),,替换NULL值,如果expr1为NULL值,则返回expr2的值,否则返回expr3的值。该函数要求expr2、expr3参数
类型一致至少相互之间可以进行隐式的转换
SELECT NVL(COLUMN_NAME1,COLUMN_NAME2,COLUMN_NAME3) FROM TABLE_NAME;
7、集合函数
1.AVG([distinct l all] expr)
求取列的平均值,表示某组的平均值,返回数值类型
distinctlall:去除重复的值
all:表示所有的值,包括重复的,也是默认值
expr:表达式,只能是数值类型
SELECT AVG(ALL COLUMN_NAME) FROM TABLE_NAME [WHERE CONDITION];
2.MAX([distinct l all] expr) MIN([distinct l all] expr)
指定列的最大值和最小值
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME = (SELECT MAX(COLUMN_NAME) FROM TABLE_NAME);
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME = (SELECT MIN(COLUMN_NAME) FROM TABLE_NAME);
3.SUM([distinct l all] expr) MIN([distinct l all] expr)
求和函数,返回制定列的数值和
SELECT SUM(ALL COLUMN_NAME) FROM TABLE_NAME [WHERE CONDITION];
4.COUNT([distinct l all] expr) MIN([distinct l all] expr)
返回查询的记录数
SELECT COUNT(ALL COLUMN_NAME) FROM TABLE_NAME [WHERE CONDITION];
8、其他函数
1.USER
返回登录名函数
SELECT USER FROM DUAL;
2.USERENV(parameter)
返回当前会话信息
parameter:Language 返回当前会话对应语言和字符集
parameter:SESSIONID 返回当前会话ID
parameter:ISDBA 返回当前用户是否DBA
SELECT USERENV('ISDBA') FROM TABLE_NAME [WHERE CONDITION];
3.SYS_CONTEXT(namespace,parameter)
返回oracle已经创建的context,名为USERENV的属性对应值
4.DECODE(expr,search,result[,search1,result1][,default])
表达式匹配函数,当expr符合条件search时返回result的值,该过程可以重复多个,如果没有匹配结果放回默认值default,这是一对一匹配过程,
类似switch
oracle数据库 SQL语句、内置函数大全的更多相关文章
- mysql 内置函数大全 mysql内置函数大全
mysql 内置函数大全 2013年01月15日 19:02:03 阅读数:4698 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代 ...
- SQL Server 内置函数、临时对象、流程控制
SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...
- 10、SQL Server 内置函数、临时对象、流程控制
SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...
- Orace内置函数大全[转:http://www.cnblogs.com/lfx0692/articles/2395950.html]
NewProgramer Oracle SQL 内置函数大全(转) SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数;SQL> select ascii('A') A,a ...
- python3内置函数大全(顺序排列)
python3内置函数大全 内置函数 (1)abs(), 绝对值或复数的模 1 print(abs(-6))#>>>>6 (2)all() 接受一个迭代器,如果迭代器的所有 ...
- python内置函数大全(分类)
python内置函数大全 python内建函数 最近一直在看python的document,打算在基础方面重点看一下python的keyword.Build-in Function.Build-in ...
- [SQL]SUTFF内置函数的用法 (删除指定长度的字符并在指定的起始点插入另一组字符)
STUFF 删除指定长度的字符并在指定的起始点插入另一组字符. 语法 STUFF ( character_expression , start , length , character_express ...
- (MariaDB)MySQL内置函数大全
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- 【学习笔记】--- 老男孩学Python,day14 python内置函数大全
参考: https://www.cnblogs.com/pyyu/p/6702896.html http://www.runoob.com/python3/python3-built-in-func ...
- python3内置函数大全
由于面试的时候有时候会问到python的几个基本内置函数,由于记不太清,就比较难受,于是呕心沥血总结了一下python3的基本内置函数 Github源码: https://github. ...
随机推荐
- Apache的HttpClient的使用
Apache的HttpClient可以被用于从客户端发送HTTP请求到服务器端,其中封装了客户端发送http的get和post请求 使用Apache的HttpClient发送GET和POST请求的步骤 ...
- Git搭建自己的网站服务器(Linux)
git服务器弄了半天终于搞定了,还是记录下吧,不然下次有得忘了 流程: 服务器 构建git目录 git用户,git组作为仓库管理 ssh授权(远程无需密码接入) hook(post-receive)自 ...
- Android(java)学习笔记169:服务(service)之为什么使用服务
1.服务 service 长期在后台运行的进程,一般没有应用程序界面 2.进程线程和应用程序之间的关系 应用程序开启,系统启动一个Linux进程,所有的组件都是运行在同一个进程的同一个线程(mai ...
- STL || HDU 1894 String Compare
如果一个词包含再另一个词的前面(前缀),是一对前缀,求一共有多少对 *解法:STL万岁 #include<string>:https://www.cnblogs.com/SZxiaochu ...
- PHP22 PHP在线支付
易宝支付示例脚本 参考网址:https://blog.csdn.net/yerenyuan_pku/article/details/52239862 参数说明 p1_MerId:商户编号,网站在易宝上 ...
- postman使用--批量执行测试用例和数据驱动
批量执行 在我们测试接口的时候,有时候希望执行所有的测试用例,前面讲的都是测试单个的接口,postman提供了我们批量执行接口的功能 点击Runner 然后我们点击run 执行完会统计出我们的结果,失 ...
- Java垃圾回收之回收算法
问题:谈谈你了解的垃圾回收算法 1.标记-清除算法(Mark and Sweep) 标记:从跟集合进行扫描,对存活的对象进行标记 清除:对堆内存从头到尾进行线性遍历,回收不可达对象内存 优点:简单 缺 ...
- Node.js fs文件系统模块
一.读取文件几个步骤 1.先引入fs文件系统模块 2.使用readfile 或 readFileSync 注意点:它们的回调函数有两个参数,第一个是err,第二个是data,得到的data是buffe ...
- docker 私有镜像服务器搭建
1.准备一台服务器A(已安装docker, IP:192.168.39.111) 2.在服务器A上通过运行registry容器进行搭建 docker run -itd -v /my_registry: ...
- html/css:简单网页
html: <!DOCTYPE html> <html> <head> <meta http-equiv=“content-type” content=“te ...