oracle 计算时间差,包含年、月、日、时、分、秒

在做系统时,如图书管理系统、车辆管理系统、事务管理系统等,经常需要我们计算两个日期相差多少天,图书是否应该归还,事情是否完成等。

今天给大家分享oracle 中如何计算时间差

oracle时间差是以天数为单位,所以换算成年月,日

select floor(to_number(sysdate-to_date('2018-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual       //年
select ceil(moths_between(sysdate-to_date('2018-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanMonths from dual       //月
select floor(to_number(sysdate-to_date('2018-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual            //天
select floor(to_number(sysdate-to_date('2018-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24) as spanHours from dual        //时
select floor(to_number(sysdate-to_date('2018-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual   //分
select floor(to_number(sysdate-to_date('2018-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60*60) as spanSeconds from dual//秒

oracle日期格式

to_date(“要转换的字符串”,”转换的格式”)   两个参数的格式必须匹配,否则会报错。即按照第二个参数的格式解释第一个参数。

to_char(日期,”转换格式” ) 即把给定的日期按照“转换格式”转换。

转换的格式:

表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年

表示month的:mm 用2位数字表示月;mon 用简写形式 比如11月或者nov ;month 用全称 比如11月或者november

表示day的:dd 表示当月第几天;ddd表示当年第几天;dy 当周第几天 简写 比如星期五或者fri;day当周第几天 全写

比如星期五或者friday。

表示hour的:hh 2位数表示小时 12进制; hh24 2位数表示小时 24小时

表示minute的:mi 2位数表示分钟

表示second的:ss 2位数表示秒 60进制

表示季度的:q 一位数 表示季度 (1-4)

另外还有ww 用来表示当年第几周 w用来表示当月第几周。

24小时制下的时间范围:00:00:00-23:59:59

12小时制下的时间范围:1:00:00-12:59:59

比如:

select to_char(sysdate,’yy-mm-dd hh24:mi:ss’) from dual   //显示:08-11-07 13:22:42

select to_date(‘2005-12-25,13:25:59′,’yyyy-mm-dd,hh24:mi:ss’) from dual //显示:2005-12-25 13:25:59

而如果把上式写作:select to_date(‘2005-12-25,13:25:59′,’yyyy-mm-dd,hh:mi:ss’) from dual,则会报错,因为小时hh是12进制,13为非法输入,不能匹配。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1254.html

(0)
江山如画的头像江山如画管理团队
如何开好网店:产品做低价,还是差异化?
上一篇 2018年2月13日 上午11:00
移动网站被百度转码的问题及解决方案
下一篇 2018年2月13日 下午1:08

99%的人还看了以下文章

  • Pycharm django 项目下如何创建一个APP

    ‌打开PyCharm并加载你的Django项目‌: 确保你已经安装并打开了PyCharm,并且你的Django项目已经加载在PyCharm中。 ‌打开终端‌: 在PyCharm中,你可以通过点击底部工具栏中的“Terminal”按钮来打开终端。 ‌导航到你的Django项目目录‌: 在终端中,使用cd命令导航到你的Django项目的根目录。例如,如果你的项目…

    2024年12月2日
    1.1K0
  • %matplotlib inline使用详解

    #内嵌画图 %matplotlib inline import matplotlib # 注意这个也要import一次 import matplotlib.pyplot as plt myfont = matplotlib.font_manager.FontProperties(fname=r’C:/Windows/Fonts/msyh.ttf’) # 这一…

    2023年1月13日
    3.0K0
  • Double.valueOf(r).doubleValue();是什么意思

    在一段代码中看到Double.valueOf(“2020”).doubleValue(),先出现了Double.valueOf(),又用了doubleValue(),有点迷惑,为什么这么用呢? <% String s=request.getParameter(“radius”); double r; if(s!=null) {r…

    2019年9月5日
    15.7K0
  • opencv 图像旋转 cv2.rotate和np.rot90案例精讲

    OpenCV 方法 OpenCV 中带有一个旋转图像的函数 cv2.rotate rotate(src, rotateCode[, dst]) -> dst参数:src:输入图像rotateCode:旋转方式1、cv2.ROTATE_90_CLOCKWISE:顺时针 90 度2、cv2.ROTATE_180:顺时针 180 度3、cv2.ROTATE_…

    2022年12月1日
    11.1K0
  • 第4课:标识符和关键字

     1.标识符 在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。 以下标识符是合法的:        a, x,  x3, BOOK_1, sum5 以下标识符是非法的:     3a …

    2020年4月5日
    8.2K0
  • 免费网站打包APP,网址打包APP教程 – HBuilder

    免费网站打包APP,网址打包APP教程 – HBuilder免费网站打包APP,网址打包APP教程 – HBuilder免费网站打包APP,网址打包APP教程 – HBuilder免费网站打包APP,网址打包APP教程 – HBuilder

    网上有很多将网站在线打包成APP的网站,都是收费,其实网站只要做好移动端优化,或本身就是响应式网站,只需要简单的几个步骤就能把网站打包成简洁的APP。 相应工具很多,中国网页设计推荐使用:HBuilder:官网dcloud.io 会做网页就会制作APP 先学习如何制作APP   VS   先学的制作网页 其实很多APP都是利用网页打包成的… 利用HBuild…

    2019年6月24日 编程开发
    14.1K0

发表回复

登录后才能评论