Oracle内置函数
单行函数:当查询表或试图时每行都能返回一个结果,可用于select,where,order by等子句中。
对于没有目标的select查询用dual表,这个表时真实存在的,每个用户都可以读取。
单行函数常见的有四种。
数值型函数
1. 绝对值函数:abs()

取余函数 :mod(a,b)

判断正负 sign()

2.三角函数
cos()
sin()
tan()
分别返回余弦、正弦、正切值,参数为弧度表示的角度

3.返回以指定数值为准整数的函数
ceil() 大于等于
floor() 小于等于

4.指数、对数函数
sqrt(n) n的平方根
power(a,b) a的b次幂
log(a,b) 以a为底b的对数
ln(n) 返回n的自然对数

5.四舍五入截取
round(a,b) 将a四舍五入成b指定位数
trunc(a,b) 将a截取到b指定位数

字符型函数
1.chr() 将ASCII码转换成字符
ascii() 返回参数首字母的ascii码值

2.获取字符串长度

3.字符串截取
substr(char,position,length) 字符为单位
substrb(char,position,length) 字节为单位
substrc(char,position,length)unicode字符为单位
substr2(char,position,length) 以ucs2代码点为单位
substr4(char,position,length) 以ucs4代码点为单位

4.字符串连接函数
concat(a,b)

5.字符串搜索函数
instr(char,substring,position,occurrence) 字符为单位
instrb(char,substring,position,occurrence) 字节为单位
instrc(char,substring,position,occurrence)unicode字符为单位
instr2(char,substring,position,occurrence) 以ucs2代码点为单位
instr4(char,substring,position,occurrence) 以ucs4代码点为单位

6.大小写转换
upper() 转大写
lower() 转小写
initcap() 首字母转换成大写

7.为指定参数排序函数
nlssort(char,
'nls_sort=schinese_pinyin_m' //按照笔画、部首排序
)

8.替换字符串
replace(char,serch_string,replacement_string)

9.字符串填充函数
rpad(expr1,
n //直到长度n为止
expr2//不存在用空格代替
)

lpad(expr1,
n //直到长度n为止
expr2//不存在用空格代替
)

10 删除字符串首尾指定字符的函数
trim:

rtrim:删除右边的
ltrim:删除左边的

11.字符集名称和id互换
nls_charset_id(string) 得到字符集名称对应的id

nls_charset_name(1) 根据字符集ID得到名称

日期型函数
1.系统日期、时间函数
sysdate函数,没有参数

systimestamp 函数
包含时区信息,精确到分秒

2.得到数据库时区函数
dbtimezone

3.为时区加上指定月份函数
1.add_months(data,integer) 给日期加一个月

2.sessiontimezone 返回当前会话的时区

3.返回指定日期对应月份的最后一天
last_day()

4.返回指定日期后一周的日期天数
next_day(date,char)

5.返回会话所在时区当前日期函数
current_date

6.提取指定日期特定部分的函数
extract()

7.得到两个日期之间的月份数
months_between(a,b)

8.时区时间转换函数
new_time(date,timezone1,timezone2)

9.日期四舍五入、截取函数
round()

trunc()

转换函数
1.
字符串转ASCII函数
asciistr()

2.二进制转十进制
bin_to_num();

3.数据类型转换
cast(expr as type_name)

4.数值转成字符串
to_char
5.字符转日期
to_date
6.字符串转数字函数
to_number
null函数
用来处理空值时比较好的选择
1.返回表达式为null的函数
coalesce() 返回里面第一个不为null的表达式

2.排除指定条件函数
lnnvl(condition) 得到除了condition要求条件之外的数据,通常用于where语句中
3.替换null值函数
nvl(expr1,expr2)
如果一为null<返回二,否则返回一

nvl2(1,2,3)
1为空,返回3,不为空,返回2
集合函数
使用到的表为pro表


配合group by或having使用
1.求平均值函数
avg(
[distinct|all] 去除重复的值|所有的值
exp:表达式
)
1) 最简单的使用方法

2) where条件子句可以使用条件,可以与grouup by 子句一起使用

3)演示价格大于2000的所有产品的所有产品的平均价格

2.求记录数量函数
count(
* //表示计算所有记录
| [distinct] //去除重复记录
[all] //所有记录
exp //要计算的对象
)
1) 记录pro表下所有的记录数

2)查询pro表的productprice字段低于3000的不重复记录数

3.返回最大、最小值
min(
[distinct] //去除重复记录
[al] 所有的
expr 表的列
)

4.求和函数
sum(
distince //去除重复记录
all //所有的
expr // 表的列
)

其他函数
1.返回登录名

2.返回会话以及上下文信息函数
1) userenv() 返回当前会话信息 sessionid 会返回当前回话id,isdba返回是否dba

2)sys_context 得到oracle已经创建的context

3.表达式匹配函数
decode

查询origin字段出现次数最多的orgin.

查询origin 字段出现次数最多的前两个origin,终于写出来了

Oracle内置函数的更多相关文章
- oracle 内置函数 least decode
在博客园的第一个博客,为什么叫第一个.... oracle 内置函数 east(1,2,3,4.....) 可以有多个值,最多几个?不知道欢迎补充 ,,,) from dual 这个函数返回是1,就是 ...
- SQL入门(2): Oracle内置函数-字符/数值/日期/转换/NVL/分析函数与窗口函数/case_decode
本文介绍Oracle 的内置函数. 常用! 一. 字符函数 ASCII 码与字符的转化函数 chr(n) 例如 select chr(65) || chr(66) || chr(67) , ch ...
- ORACLE 内置函数之 GREATEST 和 LEAST(转)
Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...
- oracle——学习之路(oracle内置函数)
oracle与很多内置函数,主要分为单行函数与集合函数. 首先要提一下dual表,它oracle的一个表,没有什么实质的东西,不能删除它,否则会造成Oracle无法启动等问题,他有很大用处,可以利用它 ...
- Oracle内置函数:时间函数,转换函数,字符串函数,数值函数,替换函数
dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期 ...
- Oracle内置函数SQLCODE和SQLERRM的使用
在我们写proc程序中经常要有错误处理,在错误处理中我们经常要输出错误信息来给帮助我们分析和解决错误原因,从而更正数据.这时候就会用到SQLCODE和SQLERRM. SQLCode:数据库操作的返回 ...
- Oracle 内置函数
三. 字符函数(可用于字面字符或数据库列) 1,字符串截取 select substr('abcdef',1,3) from dual 2,查找子串位置 select instr('abcfdgfdh ...
- Oracle内置函数大全(转)
SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ...
- Oracle内置函数内容整理
--绝对值select abs(-100) from dual; --取余select mod(8,3) from dual; --取整,大于该数的最小整数(上限值)select ceil(12.0) ...
随机推荐
- 外部引入的js 判断js脚本加载是否完成,完成后执行 相应的动作(以引入百度地图js为例)
可以使用JQuery的 $.getScript(url,function(){});方法 $.getScript("http://api.map.baidu.com/getscript?v= ...
- eclipse 中运行 Hadoop2.7.3 map reduce程序 出现错误(null) entry in command string: null chmod 0700
运行map reduce任务报错: (null) entry in command string: null chmod 0700 解决办法: 在https://download.csdn.net/d ...
- .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含 ...
- java.net.UnknownHostException: master
1:如果你报这个错误,第一反应应该是本地的host文件没有配置服务器名称和对应的ip地址,这个反应就对了.贴一下错误和解决方法: java.net.UnknownHostException: mast ...
- BZOJ 1706
题解: 倍增+floyd 首先这题比较容易想到是把每个点拆点做dij 但是这样复杂度是knlogn的 这道题的k较大,所以不行 我们考虑到每走一步,其实就是在进行一次floyd 而这个可以看成矩阵乘法 ...
- es6 promise对象
function next(){ return new Promise( function( resolve, reject ){ var num =7 // Math.floor( Math.ran ...
- JavaScript将数字转换为大写金额
用JavaScript将数字转换为大写金额,好了 0.0 To code! var digitUppercase = function(n) { var fraction = ['角', '分']; ...
- 51Nod1863 Travel 主席树 最短路 Dijkstra 哈希
原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1863.html 题目传送门 - 51Nod1863 题意 有 n 个城市,有 m 条双向路径连通它们 ...
- ContextRefreshedEvent事件使用注意事项(Spring)
0 概述ContextRefreshedEvent 事件会在Spring容器初始化完成会触发该事件.我们在实际工作也可以能会监听该事件去做一些事情,但是有时候使用不当也会带来一些问题. 1 防止重复触 ...
- dhcp搭建
DHCP服务搭建 动态主机配置协议 dhcp曾用名 bootp 应用规模:终端超过五台,建议使用DHCP分配的信息:IP地址,NETMASK掩码,GATEWAY网关,DNS1DNS服务器,DNS2,D ...