iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 日期和时间的存储于处理
  • 427
分享到

Oracle 日期和时间的存储于处理

2024-04-02 19:04:59 427人浏览 薄情痞子
摘要

本章内容包括:处理并存储一个特定的日期和时间。DATE类型可以存储世纪、4位年份、月、日、时、分和秒使用时间戳timestamp,时间戳可以存储一个特定的日期和时间。时间戳的优点是可以存储带有小数位的秒,还

本章内容包括:

  • 处理并存储一个特定的日期和时间。DATE类型可以存储世纪、4位年份、月、日、时、分和秒

  • 使用时间戳timestamp,时间戳可以存储一个特定的日期和时间。时间戳的优点是可以存储带有小数位的秒,还可以存储时区

  • 使用时间间隔interval,时间间隔可以存储时间的长度。如1年零3个月等。

oracle数据库中,默认情况下,日期以DD-MON-YYYY格式保存到数据库中,其中:

  • DD是一个两位的天数

  • MON是月份中的前三个字母,如FEB

  • YYYY是一个4位的年份。

默认情况下数据库以DD-MON-YY格式返回日期,其中YY是年份的最后两位。

1、使用TO_DATE()和TO_CHAR()转换时间值。

    TO_CHAR(x[,fORMat])用于将时间值x转化为字符串,该函数提供一个可选参数format来说明x的格式。

sql> select sysdate from dual;
SYSDATE
-----------
2016/6/9 12
SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,'YYYY-MM-DDHH2
------------------------------
2016-06-09 12:32:28
SQL> select to_char(sysdate) from dual;
TO_CHAR(SYSDATE)
----------------
09-6月 -16

    TO_DATE(x[,format])用于将字符串x转化为时间值,该函数可以指定一个可选字符串format参数来说明x的格式。如果没有指定format参数,日期就是用默认的数据库格式。x的格式要与format指定的格式一样。

SQL> select to_char(to_date('05-6月-2016 12:38:23','DD-MON-YYYY HH24:MI:SS'),'HH24:MI:SS') as time
  2  from dual;
TIME
--------
12:38:23

    设置默认的日期格式。默认的日期格式是在数据库参数NLS_DATE_FORMAT中指定的。可以用下面的语句来修改。

SQL> alter session set nls_date_format = 'YYYY-MM-DD';
Session altered

 2、使用时间值函数

    时间值函数用于获取或处理时间值和时间戳。

函数
说明
ADD_MONTHS(x,y)
返回x加上y个月后的结果,如果y是负数,就从x中减去y个月
LAST_DAY(x)
返回包含x的月的最后一天
MONTHS_BETWEEN(x,y)
返回x和y之间有几个月。如果x>y返回正数,否则返回负数。
NEXT_DAY(x,day)
返回从x开始,到下个day的时间值;day是一个文本字符串
ROUND(x[,unit])
对x取整。

SYSDATE

返回数据库服务器所在的操作系统中设置的当前时间值
TRUNC(x[,unit])
对x进行截断。默认情况下,x被截断为当天的开始时间。
SQL> select sysdate from dual;
SYSDATE
-----------
2016/6/9 12
SQL> select add_months(sysdate,1) from dual;
ADD_MONTHS(SYSDATE,1)
---------------------
2016/7/9 12:52:03
SQL> select add_months(sysdate,-1) from dual;
ADD_MONTHS(SYSDATE,-1)
----------------------
2016/5/9 12:52:15
SQL> select last_day(to_char(sysdate)) from dual;
LAST_DAY(TO_CHAR(SYSDATE))
--------------------------
2016/6/30
SQL> select months_between('09-06月-2016','08-10月-2016') from dual;
select months_between('09-06月-2016','08-10月-2016') from dual
ORA-01861: 文字与格式字符串不匹配
SQL> select months_between('2016-06-09','2016-10-08') from dual;
MONTHS_BETWEEN('2016-06-09','2
------------------------------
             -3.96774193548387
SQL> select months_between('2016-10-09','2016-06-09') from dual;
MONTHS_BETWEEN('2016-10-09','2
------------------------------
                             4

3、使用时间戳

    CURRENT_TIMESTAMP、LOCALTIMESTAMP、SYSTIMESTAMP返回当前回话的日期和时间以及时区

    EXTRACT 从时间戳类型或者DATE类型中提取并返回年月日时分秒或时期

    TO_TIMESTAMP(x[,format])用于将字符串x转化为一个TIMESTAMP类型,format指定转化类型

4、使用时间间隔INTERVAL

    举例:优惠券有效期,打折促销的时间

类型
说明
INTERVAL_YEAR[(years_option)] TO_MONTH
存储一个时间间隔,其单位是年和月;可以通过years_option参数来指定年的精确度,默认精度是2,意思是可以在时间间隔中为年数存储两位数字。如果试图向表中添加年数超过INTERVAL_YEAR TO MONTH列可以存储的记录,就会返回一个错误。时间间隔既可以存储正数,也可以存储负数
INTERVAL_DAY[(days_option)] TO_SECOND[(seconds_precision)]
存储一个时间间隔,其单位是天和秒;可以动过指定可选的days_precision参数来指定天的精度,该参数是一个0~9的整数。默认值是2。

    使用INTERVAL_YEAR TO MONTH类型

        创建表coupons用来存储优惠券信息。duration用来记录优惠券有效的时间间隔。

SQL> create table coupons(
  2  coupon_id integer constraint coups_pk primary key,
  3  name varchar2(30) not null,
  4  duration INTERVAL YEAR(3) TO MONTH
  5  );
Table created

    要想数据库提供一个INTERVAL YEAR TO MONTH字面值,可以使用以下语法:

INTERVAL '[+|-][y][-m]' [YEAR[(years_precisiion)]] [TO_MONTH]

    示例:

时间间隔字面量
说明
INTERVAL '1' YEAR

INTERVAL '11' MONTH
时间间隔11个月(14>12 == 1年零2个月)
INTERVAL '1-3' YEAR TO MONTH
时间间隔为1年零3个月
INTERVAL '0-5' YEAR TO MONTH
时间间隔为0年5个月
INTERVAL '-1-5' YEAR TO MONTH
时间间隔为负数,值为1年零5个月


SQL> INSERT INTO coupons(coupon_id,name,duration)
  2  values(1,'$1 off Z Files',INTERVAL '1' YEAR);
1 row inserted

SQL> INSERT INTO coupons(coupon_id,name,duration)
  2  values(2,'$2 off Pop 3',INTERVAL '11' MONTH);
1 row inserted

SQL> INSERT INTO coupons(coupon_id,name,duration) values(3,'$2 off Pop 31',INTERVAL '2' MONTH);
1 row inserted
SQL> select * from coupons;
                              COUPON_ID NAME                           DURATION
--------------------------------------- ------------------------------ -------------------------------------------------------------------------------
                                      1 $1 off Z Files                 +001-00
                                      2 $2 off Pop 3                   +000-11
                                      3 $2 off Pop 31                  +000-02

   

    


您可能感兴趣的文档:

--结束END--

本文标题: Oracle 日期和时间的存储于处理

本文链接: https://www.lsjlt.com/news/37379.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL Server 日期和时间的内部存储过程
    在SQL Server的内部存储中,日期和时间不是以字符串的形式存储的,而是使用整数来存储的。使用特定的格式来区分日期部分和时间部分的偏移量,并通过基准日期和基准时间来还原真实的数据。 一,DateTime...
    99+
    2024-04-02
  • Python 日期时间处理
    开发过程中最常用的时间处理就是获取时间戳,获取当前日期,或者时间戳,日期互转,做个总结,免得总找不着。1、获取当前timestamp>>> from time import time >>> time()...
    99+
    2023-01-31
    日期 时间 Python
  • 如何处理PHP中的日期和时间?
    在Web开发中,日期和时间是非常重要的因素,尤其是针对交互和数据存储。在PHP中,处理日期和时间的功能非常强大,比如获取当前时间、将时间戳转换成日期时间格式、比较两个日期时间等等。在本篇文章中,将介绍如何处理PHP中的日期和时间。获取当前时...
    99+
    2023-05-20
    PHP日期和时间 时间格式化 时区处理
  • MariaDB中如何处理日期和时间
    在MariaDB中,日期和时间可以使用DATE、TIME和TIMESTAMP等数据类型来存储。 DATE类型:用于存储日期,格式为...
    99+
    2024-04-09
    MariaDB
  • Perl中怎么处理日期和时间
    在Perl中处理日期和时间通常使用DateTime模块,这个模块提供了一些方便的方法来处理日期和时间。以下是一些常见的操作: 创建...
    99+
    2024-03-05
    Perl
  • C#中怎么处理日期和时间
    在C#中处理日期和时间有许多内置的类和方法可供使用。以下是一些常用的方法: 获取当前日期和时间: DateTime now = ...
    99+
    2024-03-07
    C#
  • Ruby日期时间的比较,日期转换等时间日期处理方法大全
    Ruby中Date、Time、 DateTime这3个类提供 了和日期时间相关的操作。 Date只能处理日期Time能处理日期和时间DateTime也能处理日期和时间 其中,Date...
    99+
    2024-04-02
  • Yii框架的时空扭曲:时间戳、日期和时间处理
    时间戳是一个整数,表示自纪元时间(Unix纪元,1970年1月1日午夜 UTC)以来的秒数。Yii中提供了获取和使用时间戳的便捷方法: time(): 返回当前时间戳。 date("U"): 以字符串格式返回当前时间戳。 strtoti...
    99+
    2024-04-02
  • Python处理日期和时间的方法总结
    目录1 简单入门1.1 获取当前时间1.2 获取当前日期1.3 datetime中的类2 datetime中的常用的类2.1  date类2.2 time类 2....
    99+
    2024-04-02
  • moment.js 时间日期处理详解
    周一 至 周日 时间格式化转化 (Y --- 年     M --- 月   D--- 天) var timeNow...
    99+
    2024-04-02
  • 详解python日期时间处理
    目录开发中常用的日期操作有哪些?我们看看这两个模块。time 内置模块calender 内置模块日期格式化处理总结讲了很多数据容器操作,这篇我们看看时间的处理。 开发中常用的日期操作...
    99+
    2024-04-02
  • 如何处理Python中的日期和时间问题
    如何处理Python中的日期和时间问题,需要具体代码示例在开发过程中,处理日期和时间是一个常见的任务。无论是计算两个日期之间的差距、格式化日期字符串,还是进行时间的加减运算,都是开发中经常遇到的需求。Python提供了丰富的日期和时间处理库...
    99+
    2023-10-22
    Python 日期 时间处理
  • SQLServer中如何处理日期和时间数据
    在SQL Server中,日期和时间数据可以使用datetime、date、time和datetime2等数据类型来存储和处理。 ...
    99+
    2024-04-09
    SQLServer
  • PHP时间函数实战:处理时间戳和日期转换
    PHP时间函数实战:处理时间戳和日期转换 在Web开发中,处理时间戳和日期转换是一项常见的任务。PHP作为一种流行的服务器端脚本语言,提供了丰富的时间函数来方便开发人员处理时间数据。本...
    99+
    2024-02-29
    - php - 日期 - 时间戳
  • 10个用于处理日期和时间的Python库分别是什么呢
    10个用于处理日期和时间的Python库分别是什么呢,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1️⃣arrow更好的 Python 日期时间操作类库。官网2...
    99+
    2023-06-02
  • MySQL中如何处理日期和时间数据
    在MySQL中,日期和时间数据通常以特定的数据类型存储,可以使用以下数据类型来处理日期和时间数据: DATE:用于存储日期值,格式...
    99+
    2024-03-06
    MySQL
  • PostgreSQL中怎么处理日期和时间数据
    在 PostgreSQL 中,日期和时间数据可以通过以下几种方式处理: 存储日期和时间数据类型: PostgreSQL 提供了几...
    99+
    2024-03-12
    PostgreSQL
  • 详解python日期时间处理2
    目录开发中常用的日期操作还有哪些?我们看看这两个模块。时间处理中的类型转换:struct_time vs str时间与字符串转换总结前篇我们稍微学习了Python中时间的获取,这次继...
    99+
    2024-04-02
  • Java8中的时区日期时间怎么处理
    今天小编给大家分享一下Java8中的时区日期时间怎么处理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。我同时也发现,这三个类...
    99+
    2023-07-05
  • Spring Boot日期时间如何处理
    本文小编为大家详细介绍“Spring Boot日期时间如何处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“Spring Boot日期时间如何处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作