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) ...
随机推荐
- python 之 列表与字典
1.4 列表与字典 列表与字典,这两种类型,都是各种类型的集合,以列表为例,如果列表中包含列表,就形成嵌套. 这两种类型几乎是所有python脚本的主要工作组件 . 这种结构信息是可变的可修改的.不像 ...
- Left-pad
L1-032 Left-pad (20 分) 根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的 ...
- 实战--Keepalived和LVS实现负载高可用
显然,只有上一篇的操作,在WEB运维技术中,只能承担一半的角色. 想像一下,如何LVS本身倒了,肿么办?后端的NGINX再多,也只能是干着急,请求过来不呀! 所以,在本篇时,我们来实现LVS永不倒, ...
- 一脸懵逼学习Hadoop-HA机制(以及HA机制的配置文件,测试)
1:能否让两个NameNode都正常影响客户端请求? 应该让两个NameNode节点在某个时间只能有一个节点正常影响客户端请求,相应请求的必须为Active状态的那一台. 2:standBy状态的节点 ...
- Oracle Instant Client(即时客户端) 安装与配置
一.下载 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 这是Ora ...
- Google搜索
https://www.google.com/intl/br/insidesearch/tipstricks/all.html 如何用好谷歌等搜索引擎?
- windows搭建RocketMQ服务
写在前面: 1.基于rocketmq 4.2.0版本 2.64位 win10 系统 3.JDK 1.8 (注意,jdk路径一定不要有空格,不然执行相应的cmd命令时会报错) 4.其它需要的软件,mav ...
- aws上ecs上tomcat8080端口打开但是无法访问
参考: https://yq.aliyun.com/articles/92050?t=t1 1. 安全组设置 2. 防火墙规则 3. 查看 8080 端口是否绑定到 127.0.0.1上的.如果是 ...
- windows下安装Memcached服务器,PHP的memcache扩展
Memcahed 介绍:Memcahed是一个内存缓存服务器 (类似MySQL服务器) 作用:提高web的响应速度,例如缓存数据库查询结果 原理:把数据存到内存中 (提高速度的原因) 教程相关 系统: ...
- NowCoder Wannafly 27E 黄魔法师 构造
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-Wannafly27E.html 题目传送门 - NowCoder Wannafly 27E 题 ...