在数据库中(Oracle),根据时间查询数据: to_date()和to_char()函数

时间:2024-11-05 14:05:14

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

1.1 格式

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

1.2 例子

 -- 根据时间查询
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小时制的
select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual -- 返回结果:2005-12-25 01:25:59 //去掉24的结果
-- 查询当前系统时间。 sysdate:系统时间
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 例子

 -- 查询当前系统时间
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');

查询结果:

在数据库中(Oracle),根据时间查询数据: to_date()和to_char()函数

 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'),,'','123456789@qq.com'); -- 插入数据

查询结果:

在数据库中(Oracle),根据时间查询数据: to_date()和to_char()函数

4. 附录

-- 当前时间减去7分钟的时间
select sysdate,sysdate - interval '' MINUTE from dual
-- 当前时间减去7小时的时间
select sysdate - interval '' hour from dual
-- 当前时间减去7天的时间
select sysdate - interval '' day from dual
-- 当前时间减去7月的时间
select sysdate,sysdate - interval '' month from dual
-- 当前时间减去7年的时间
select sysdate,sysdate - interval '' year from dual
-- 时间间隔乘以一个数字
select sysdate,sysdate - 8*interval '' 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

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