Oracle常用函数集锦
1、wmsys.wm_concat函数
将列转为行。例子:
--表里的数据如下
SQL> select * from idtable;
ID NAME
---------- ------------------------------
10 ab
10 bc
10 cd
20 hi
20 ij
20 mn
--函数的执行效果
SQL>select id,wmsys.wm_concat(name) name from idtable group by id;
ID NAME
---------- --------------------------------------------------------------------------------
10 ab,bc,cd
20 hi,ij,mn
即按id分组,把id相同的name列组合起来,并用英文逗号分隔。
2、replace函数
replace(String str, String targetStr [, String aimStr]),将str字符串中的targetStr字符,替换为aimStr字符。
如果不给出aimStr参数,则函数就会将str字符串中的targetStr字符串删除。如:
select replace('hello', 'h', 'y') from dual;
--输出:yello
select replace('hello', 'h') from dual;
--输出:ello
3、“||”字符串连接符
在Oracle中,如果想要将字符串连接起来,那么可以使用“||”符号。如:
select dummy from dual;
--输出:X
select dummy || 'Z' from dual;
--输出:XZ
4、decode函数
decode通常用来做判断,其参数格式为:decode(条件,值1,翻译值1,值2,翻译值2,缺省值),它等于我们编程中这样的语句:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
下面举几个例子:
select decode('1', '1', 'one', '2', 'two', 'other') from dual;
--1.输出:one
select decode('2', '1', 'one', '2', 'two', 'other') from dual;
--2.输出:two
select decode('1', '1', 'one', '1', 'two', 'other') from dual;
--3.输出:one (遇到第一个值匹配之后,就不再进行匹配了,验证了是IF..ELSE IF..ELSE的语法)
5、sign(n)函数
若n=0,则返回0。否则,n>0,则返回1。n<0,则返回-1。
select sign(12) from dual;
--输出:1
6、ceil(n)
返回结果是大于等于输入参数的最小整数
select ceil(10.5) from dual;
--输出:11
7、floor(n)
返回结果是小于等于输入参数的最大整数
select floor(9.3) from dual;
--输出:9
8、round(n)
四舍五入
SELECT round(100.51515),round(99.2343) from dual;
--输出:101 99
9、TRUNC(n, integer)
截取数值的函数。integer为正整数,表示截取几位小数。integer为负整数,则截取小数点左几位。如果integer为小数,则函数会忽略小数部分。
比如当integer为3.25时,函数将会按3去截取。
select trunc(1222.23456,2), trunc(1222.23456, -1), trunc(1222.23456, 2.56) from dual;
--1222.23 1220 1222.23
10、TRUNC(sysdate, varchar)
对日期进行截取, varchar字符表示精确到的位数(大小写不影响结果,如:mm与MM结果一样)
--现在时间是:2014年10月29日 18:35:09
--精确到年。 输出结果:2014/1/1
select trunc(sysdate ,'yyyy') from dual ;
--精确到月 输出结果:2014/10/1
select trunc(sysdate ,'mm') from dual ;
--精确到日 输出结果:2014/10/29
select trunc(sysdate ,'dd') from dual ;
--精确到小时 输出结果:2014/10/29 18:00:00
select trunc(sysdate ,'hh') from dual ;
--精确到分钟 输出结果:2014/10/29 18:38:00
select trunc(sysdate ,'mi') from dual ;
精确到秒的暂时不知道。
Oracle常用函数集锦的更多相关文章
- Oracle常用函数
前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...
- Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数
首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE) ...
- oracle常用函数总结(二)
之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...
- oracle常用函数总结
Oracle常用函数总结 ---oracle常用函数-----一.数值型常用函数----取整数--select floor(10.1) from dual;--将n四舍五入,保留小数点后m位(默认情况 ...
- oracle常用函数整理
oracle常用函数整理 1.绝对值.取余.判断数值正负函数 绝对值:ABS(n) 示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...
- oracle常用函数积累
--oracle常用函数积累-- --1.字符串长度:LENGTH ,语法: CONCAT(string) --示例 select LENGTH('AA_BB') from dual;--结果:5 - ...
- ORACLE常用函数的使用方法
ORACLE常用函数的使用方法 1. 字符串函数 (1) length(); 获取字符长度SELECT LENGTH('中国') FROM PLATFORM_METAINFO_TABLES WHERE ...
- SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等
SQL组成 DML数据操作语言 DCL数据控制语言 DQL数据查询语言 DDL数据定义语言 查询基础语法 记录筛选 where 子句 记录筛选 where 子句 实例练习 实例练习 Select语句中 ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
随机推荐
- 【redis】redis异常-MISCONF Redis is configured to save RDB snapshots
使用redis报错: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persis ...
- Nginx的相关问题
1.什么是Nginx的虚拟主机? 答:虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务 ...
- Caused by: java.lang.ClassNotFoundException: org.springframework.data.repository.config.BootstrapMode
1.起因,启动SpringBoot2.0的时候报了这个错误.说找不到类,咱也是刚学SpringBoot2.0,咱也不懂,咱也不知道问谁,研究一翻,找不到原因就百度了. 参考链接:https://blo ...
- C#编辑xml文件
string path = @"C:\Users\Administrator\Desktop\无人智能便利店\install\收银端\XMLRFI.xml"; XmlDocumen ...
- C 内置函数
*) strcat()用于连接两个字符串 *) 函数 memcpy() 用来复制内存到另一个位置.
- 2.原生js实现图片懒加载
网上查了很多图片懒加载的内容, 但基本上都是jQuery实现的, 没有说清楚其原理, 所以研究了一下 多的不说, 上代码, 看不明白的建议看下我的上一篇文章<1. 图解浏览器和用户设备的宽高等属 ...
- pwrite
写入起始地址的偏移量,写入地址=文件开始+offset 注意:执行后,文件偏移指针不变 ssize_t pread(int fd, void *buf, size_t count, off_t off ...
- 汇编指令之JMP,CALL,RET(修改EIP的值!!!)
简单介绍了,JMP指令按市面上的意思来说是跳转到指定地址,但我这里不这么说,JMP, CALL, RET三个指令均为修改EIP值的指令,EAX, ECX, EBX, EDX, ESP, EBP, ES ...
- liteos信号量(八)
1. 概述 1.1 基本概念 信号量(Semaphore)是一种实现任务间通信的机制,实现任务之间同步或临界资源的互斥访问.常用于协助一组相互竞争的任务来访问临界资源. 在多任务系统中,各任务之间需要 ...
- Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard
K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态.K8S集群安装好后默认没有包含Dashboard,我们需要额外创建它. 首先我们执行命令: wg ...