oracle日期、转换函数
转换函数
日期类型转换成字符类型
select to_char(sysdate) s1, --14-3月 -16
to_char(sysdate, 'yyyy-mm-dd') s2, --2016-03-14
to_char(sysdate, 'yyyy') s3, --2016
to_char(sysdate, 'yyyy-mm-dd hh12:mi:ss') s4, --2016-03-14 10:21:57
to_char(sysdate, 'hh24:mi:ss') s5, --10:21:57
to_char(sysdate, 'DAY') s6 --星期一
from dual; select * from mobile t where to_char(busi_date,'yyyymm')='201511'
将字符类型转换为日期类型
select to_date('20150312','yyyy-mm-dd') from dual; --2015/3/12
返回两个日期间的天数
select floor(sysdate- to_date('20151110','yyyymmdd')) from dual;
返回最接近的日期
select sysdate S1,
round(sysdate) S2, --当前日期时间
round(sysdate,'year') YEAR, --年
round(sysdate,'month') MONTH, --月
round(sysdate,'day') DAY --返回最接近的周日
from dual;
截取最接近的日期
select sysdate S1,
trunc(sysdate) S2, --返回当前日期,无时分秒
trunc(sysdate, 'year') YEAR, --返回当前年的1月1日,无时分秒
trunc(sysdate, 'month') MONTH, --返回当前月的1日,无时分秒
trunc(sysdate, 'day') DAY --返回当前星期的星期天,无时分秒
from dual;
计算时间差,ORACLE时间差是以天数为单位,所以换算成年,月,日
时间差-年
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual
时间差-月
select ceil(months_between(sysdate,to_date('2015-10-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanMonths from dual
时间差-天
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual
时间差-时
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24) as spanHours from dual
时间差-分
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual
时间差-秒
select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60*60) as spanSeconds from dual
更新时间,ORACLE时间加减是以天数为单位,设改变量为n,所以换算成年,月,日;
改变时间-年 n=3,2015-->2018 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n*365,'yyyy-mm-dd hh24:mi:ss') as newTime from dual;
n=3,2015-11-21-->2016-2-21
改变时间-月
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),add_months(sysdate,n)as newTime from dual
改变时间-日
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n,'yyyy-mm-dd hh24:mi:ss') as newTime from dual
改变时间-时
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24,'yyyy-mm-dd hh24:mi:ss') as newTime from dual
改变时间-分
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual
改变时间-秒
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual
查找月的第一天,最后一天,例如当前时间2015/11/21
select trunc(trunc(sysdate,'month')-1,'MONTH') First_Day_Last_Month, --2015/10/1
trunc(sysdate,'month')-1/86400 Last_Day_Last_Month, --2015/10/31 23:59:59
trunc(sysdate,'month') First_Day_Cur_Month, --2015/11/1
last_day(Trunc(sysdate,'month'))+1-1/86400 Last_Day_Cur_Month --2015/11/30 23:59:59
from dual;
数字类型转换成字符类型
select sal,to_char(sal,'$99999') n1,to_char(sal,'$99,999') n2 from emp
转换为数字类型,以数字显示的小时数
select to_number(to_char(sysdate,'hh12')) from dual;
oracle日期、转换函数的更多相关文章
- Oracle日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...
- [转]ORACLE日期时间函数大全
本文转自:http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html ORACLE日期时间函数大全 TO_DATE格式(以时间: ::2 ...
- [转载]ORACLE日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- oracle 日期时间函数
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- ORACLE日期时间函数
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- Oracle 大小写转换函数
Oracle 大小写转换函数 转大写UPPER 转小写LOWER 测试: select UPPER('Test') as u from dual; select LOWER('Test') as l ...
- Mysql日期转换函数、时间转换函数
Mysql日期转换函数.时间转换函数 一.MySQL 获得当前日期时间 函数 1,获得当前日期+时间(date + time)函数:now(): select now(); 结果: :: 2,获得当前 ...
- oracle行列转换函数的使用
oracle 10g wmsys.wm_concat行列转换函数的使用: 首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行 ...
- oracle日期时间函数总结
常常写 sql 的同学应该会接触到一些 oracle 的日期时间函数, 比如: 財务软件或者人力资源软件须要依照每年, 每季度, 每月, 甚至每一个星期来进行统计. 今天闲来没事, 特意从网上整理了一 ...
- Oracle(转换函数)
在数据库中主要使用数据类型:字符,数字,日期(时间戳),所以这三种数据类型之间需要实现转换操作. 常用转换函数: 3.1.TO_CHAR()函数 将数据类型变为字符串. 日期格式化标记: 在TO_CH ...
随机推荐
- DeepID人脸识别算法之三代
DeepID人脸识别算法之三代 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/42091205 DeepID,眼下最强人脸识别算法.已经三 ...
- Linux命令(二十三) 磁盘管理命令(一) df,du,tune2fs
一. 查看磁盘占用空间情况 df df 命令用于查看硬盘空间的使用情况,还可以查看硬盘分区的类型或 inode 节点的使用情况等. df 命令常用参数如下: -a 显示所有文件系统的磁盘使用情况,包括 ...
- wordpress 点击文章图片 不能编辑(chrome下面) wordpress Uncaught DOMException: Failed to execute 'setBaseAndExtent' on 'Selection': There is no child at offset 1.
说明:在chrome下面,编辑文章插入的图片,点击到图片上面,没有菜单显示. 报错: tinymce.min.js:10 Uncaught DOMException: Failed to execut ...
- Shell命令——文件目录
Linux只有一个文件系统树,不同的硬件设备可以挂载在不同目录下. 文件或目录有两种表示方式: - 绝对路径:从根目录”/”开始 - 相对路径:从工作目录开始,使用”..”指向父目录,”.”指向当 ...
- 【HTML5】中的一些新标签
1.element.classList 获取该元素的所有类名,并以数组方式列出. 增加类名:element.classList.add(class1,class2); //可添加一个或多个. 去除类名 ...
- java 堆和栈二
1.数组 整数默认初始化值0 浮点数默认初始化值0.0 布尔类型默认初始化值false 字符类型默认初始化值\u0000 [I@7852e922 [有几个代表是几维数组 I代表是Int类型 @固定格式 ...
- Codeforces Round #374 (Div. 2) C(DAG上的DP)
C. Journey time limit per test 3 seconds memory limit per test 256 megabytes input standard input ou ...
- 洛谷P4299 首都(BZOJ3510)(LCT,树的重心,二分查找)
Update:原来的洛谷U21715已成坑qwq 已经被某位管理员巨佬放进公共题库啦!又可以多一个AC记录啦! 洛谷题目传送门 其实也可以到这里交啦 思路分析 动态维护树的重心 题目中说到国家的首都会 ...
- 【BZOJ3733】[Pa2013]Iloczyn (搜索)
[BZOJ3733][Pa2013]Iloczyn (搜索) 题面 BZOJ 题解 把约数筛出来之后,直接爆搜,再随便剪枝就过了. 最近一句话题解倾向比较严重 #include<iostream ...
- luogu3778/bzoj4898 商旅 (floyd+分数规划+spfa)
首先floyd求出来每两点间的最短距离,然后再求出来从某点买再到某点卖的最大收益 问题就变成了找到一个和的比值最大的环 所以做分数规划,二分出来那个答案r,把边权变成w[i]-r*l[i],再做spf ...