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) ...
随机推荐
- angular-cli ng build 打包完成后 打开文件显示空白
将index.html 里面的<base href="/"> 改为<base href="./"> 前面加一个 点 就好了,然后再次打包 ...
- hexo+github page +markdown问题汇总
1.没有权限提交 解决办法:把git版本由2.x改为1.9 未完待续
- Java开发环境笔记
在配置环境变量中 设置Java_home: 一是为了方便引用,比如,jdk安装在c:\jdk16.0目录里,则设置java_home为该目录路径,那么以后要使用这个路径的时候,只需输入%java_ho ...
- error: not found: value sqlContext/import sqlContext.implicits._/error: not found: value sqlContext /import sqlContext.sql/Caused by: java.net.ConnectException: Connection refused
1.今天启动启动spark的spark-shell命令的时候报下面的错误,百度了很多,也没解决问题,最后想着是不是没有启动hadoop集群的问题 ,可是之前启动spark-shell命令是不用启动ha ...
- C# 之 反射性能优化3
阅读目录 开始 用Delegate优化反射的缺点 用Delegate优化反射的优点 用CodeDOM优化反射的优点 如何用好CodeDOM? 用CodeDOM优化反射的缺点 能不能不使用委托? 根据反 ...
- UOJ#219/BZOJ4650 [NOI2016]优秀的拆分 字符串 SA ST表
原文链接http://www.cnblogs.com/zhouzhendong/p/9025092.html 题目传送门 - UOJ#219 (推荐,题面清晰) 题目传送门 - BZOJ4650 题意 ...
- P1373 小a和uim之大逃离 二维dp
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- Python之抽象类、抽象方法
抽象类中只能有抽象方法,子类继承抽象类时,不能通过实例化使用其抽象方法,必须实现该方法. Python2 class CopyBase(object): def save(self): raise N ...
- Google Hack搜索技巧
想了解更多搜索技巧,点击下面网站了解http://exploit-db.com/google-dorks Google Hack的一些整理 这里是google关键字的用法,要设置它为中文,则是 htt ...
- hadoop离线计算项目上线配置问题记录
最近上线一个hadoop离线处理项目,因为在低配置(8G,4核)的时候装的CDH,后来集群配置(64G,16核)上来了,但许多参数不会自动修改,需要自己调整,处理过程中遇到的配置问题记录下. 1.hi ...