zoukankan      html  css  js  c++  java
  • Oracle中的to_date()和to_char()函数 详解及应用

    1、to_date() 函数 (俗称:日期转换函数)

    1.1 格式

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

    1.2 例子

    1 -- 根据时间查询
    2
    select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual -- 返回结果:2005-12-25 13:25:59 //hh24表示:时间是24小时制的 3 select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual -- 返回结果:2005-12-25 01:25:59 //去掉24的结果 4 -- 查询当前系统时间。 sysdate:系统时间 5 select to_date(sysdate,'yyyy-mm-dd,hh24:mi:ss') from dual -- 返回结果:2018-04-10 12:30:50

    说明:

    表示year的:y  表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年
    表示month的:mm 用2位数字表示月; -- MySQL 月份用大 MM 表示
    表示day的:dd 表示当月第几天;ddd表示当年第几天;dy 当周第几天 
    表示hour的:hh 2位数表示小时 12进制; hh24 2位数表示小时 24小时  -- MySQL 小时用大 HH 表示
    表示minute的:mi 2位数表示分钟   -- MySQL 分钟用 mm 表示
    表示second的:ss 2位数表示秒 60进制
    表示季度的:q 一位数 表示季度 (1-4) 另外还有 ww 用来表示当年第几周 w用来表示当月第几周。

    2、 to_char() 函数 (俗称:字符串转换函数)

     2.1 格式

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

     2.2 例子

    1 -- 查询当前系统时间
    2 select
    to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual -- 返回结果:18-04-10 13:22:42 //这个结果表示的是一串 字符串,并不是时间.

    3、实例

    1、在数据库中,根据 "时间" 查询数据

    select * from MATERIAL t WHERE t.insert_date = to_date('2018-04-10 10:30:00','YYYY-MM-DD HH24:mi:ss');

    查询结果:

     2、在数据库中,插入与“时间”相关的数据

    insert into student(name,birthday,age,phone,email) 
          values('zhangsan',to_date('2018-01-10 19:55:45','yyyy-MM-dd hh24:mi:ss'),18,'13510086110','123456789@qq.com');  -- 插入数据

    查询结果:

    4. 附录

    -- 当前时间减去7分钟的时间 
    select sysdate,sysdate - interval '7' MINUTE from dual 
    -- 当前时间减去7小时的时间 
    select sysdate - interval '7' hour from dual 
    -- 当前时间减去7天的时间 
    select sysdate - interval '7' day from dual 
    -- 当前时间减去7月的时间 
    select sysdate,sysdate - interval '7' month from dual 
    -- 当前时间减去7年的时间 
    select sysdate,sysdate - interval '7' year from dual 
    -- 时间间隔乘以一个数字 select sysdate,sysdate - 8*interval '7' hour from dual -- 在当前时间加一月 或 一年 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1) from dual; --加1月 -- 在当前时间加一天 或 一小时 select sysdate+N from dual; -- sysdate+1 加一天; sysdate+1/24 加1小时;

    原创作者:DSHORE

    作者主页:http://www.cnblogs.com/dshore123/

    原文出自:http://www.cnblogs.com/dshore123/p/8778205.html

    欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

  • 相关阅读:
    eclipse下c/cpp " undefined reference to " or "launch failed binary not found"问题
    blockdev 设置文件预读大小
    宝宝语录
    CentOS修改主机名(hostname)
    subprocess报No such file or directory
    用ldap方式访问AD域的的错误解释
    英特尔的VTd技术是什么?
    This virtual machine requires the VMware keyboard support driver which is not installed
    Linux内核的文件预读详细详解
    UNP总结 Chapter 26~29 线程、IP选项、原始套接字、数据链路访问
  • 原文地址:https://www.cnblogs.com/dshore123/p/8778205.html
Copyright © 2011-2022 走看看