重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
NVL(A_DATETO,'1900-01-01')
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了浦城免费建站欢迎大家使用!
为空时就换为一个无穷大的数,或无穷小的数啊!
where
a.createtime = nvl(trunc(a_dateform),‘1900-01-01’)
and a.createtime nvl(trunc(a_dateto),‘9000-01-01’);
这样就好了!
不知道你的数据类型,可能还得加个TO_CHAR()函数~
希望是你想要的~
显示的时候处理一下即可 to_date(字段名,'yyyy-mm-dd');
或者直接update
java/oracle日期处理还是很和总要的,我们在学习java语言的时候,对这一部分内容也要做好详细了解。下面,我们就一起来看看java/oracle日期处理中的一些重要内容 public class Test{ public static void main (String args []){ java.util.Date a = new java.util.Date(); System.out.println(a); java.sql.Date b = new java.sql.Date(a.getTime()); System.out.println(b); java.sql.Time c = new java.sql.Time(a.getTime()); System.out.println(c); java.sql.Timestamp d=new java.sql.Timestamp(a.getTime()); System.out.println(d); } } 结果: Mon Apr 03 18:00:34 CST 2006 2006-04-03 18:00:34 2006-04-03 18:00:34.388 1.oracle 默认 的系 统时间 就是 sysdate 函数, 储 存的数据形如 25-3- 2005 10:55:33 2.java 中取 时间 的对象是java.util.Date . 3.oracle 中 对应的 时间对 象是java.util.Date , java.sql.Time , java.sql.Timestamp 、 它们都是 是java.util.Date的子 类 . 4.oracle 中与 date操作 关 系最大的就是两个 转换 函数: to_date(),to_char() . to_date() 一般用于写入日期到数据库时用到的函数。 to_char() 一般用于从数据库读入日期时用到的函数。 DATE 、 TIME 和 TIMESTAMP : SQL 定义了三种与时间有关的数据类型: DATE 由日、月和年组成。 TIME 由小时、分钟和秒组成。 TIMESTAMP 将 DATE 和 TIME 结合起来,并添加了纳秒域。 标准Java 类 java.util.Date 可提供日期和时间信息。但由于该类包含 DATE 和 TIME 信息而没有 TIMESTAMP 所需的纳秒,因此并不与上述三种 SQL 类型完全相配。 因此我们定义了 java.util.Date 的三种子类。它们是: 1.有关 SQL DATE 信息的 java.sql.Date 2.有关 SQL TIME 信息的 java.sql.Time 3.有关 SQL TIMESTAMP 信息的 java.sql.Timestamp 对于java.sql.Time , java.util.Time 基本类的小时、分钟、秒和毫秒域被设置为零。 对于 java.sql.Date , java.util.Date 基本类的年、月和日域被分别设置为 1970 年 1 月 1 日。这是在 Java 新纪元中的 “零” 日期。 java.sql.date 中的日期可以和标准的SQL语句中含有日期的字段进行比较. java.sql.Timestamp 类通过添加纳秒域来扩展 java.util.Date . oracle 中 两个转换函数: 1.o_date() 作用将字符类型按一定格式转化为日期类型: 具体用法 :to_date(''2004-11-27'',''yyyy-mm-dd''), 前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如 ;to_date(''2004-11-27 13:34:43'', ''yyyy-mm-dd hh24:mi:ss'') 将得到具体的时间。 2.to_char():将日期 转 按一定格式 换 成字符 类型: 具体用法 : to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'') to_date() 与 24 小时 制表示法及 mm 分钟的显示: 在使用Oracle 的to_date 函数来做日期转换时,很多Java 程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle 中会引起错误:“ORA 01810 格式代码出现两次 ” . 如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual; 原因是 SQL 中不区分大小写, MM 和 mm 被 认为 是相同的格式代 码 ,所以 Oracle 的 SQL 采用了 mi 代替分 钟 . oracle默 认 的系 统时间 就是sysdate函数, 储存的数据形如2005-3-2510:55:33 , java 中取 时间 的对象是java.util.Date . select to_date('2005-01-01 13:14:20 ','yyyy-MM-dd HH24:mi:ss') from dual 在java 对 oracle 的操作中,对日期字段操作的例子: 表book 中有 name varchar2(20)// 书籍名称 ,buydate Date // 购买日期 两个字段。 已经创建了数据库连接 Connection conn; 方法一、使用 java.sql.Date 实现比较简单的 yyyy-mm-dd 格式日期。 java.sql.Date 不支持时间格式。切记不要使用 new java.sql.Date(int year,int month,int date), 因为还要处理时间差问题。 PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)"); java.sql.Date buydate=java.sql.Date.valueOf("2005-06-08"); pstmt.setString(1, "Java 编程思想 "); pstmt.setDate(2,buydate ); pstmt.execute(); 方法二、使用 java.sql.Timestamp, 同上不使用 new Timestamp(……) PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)"); java.sql.Timestamp buydate=java.sql.Timestamp.valueOf("2004-06-08 05:33:99"); pstmt.setString(1, "Java 编程思想 "); pstmt.setTimestamp(2,buydate ); pstmt.execute(); 方法三、使用 oracle 的 to_date 内置函数 PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,to_date(?, 'yyyy-mm-dd hh24:mi:ss')"); String buydate="2004-06-08 05:33:99"; pstmt.setString(1, "Java 编程思想 "); pstmt.setString(2,buydate ); pstmt.execute(); 附:oracle 日期格式参数含义说明 d: 一周中的星期几 day: 天的名字,使用空格填充到 9 个字符 dd: 月中的第几天 ddd: 年中的第几天 dy: 天的简写名 iw: ISO 标准的年中的第几周 iyyy:ISO 标准的四位年份 yyyy: 四位年份 yyy,yy,y: 年份的最后三位,两位,一位 hh: 小时,按 12 小时计 hh24: 小时,按 24 小时计 mi: 分 ss: 秒 mm: 月 mon: 月份的简写 month: 月份的全名 w: 该月的第几个星期 ww: 年中的第几个星期 以上就是java/oracle日期处理要点介绍,掌握java/oracle日期处理中的这部分重要内容,对我们学习java语言也是很有帮助的。所以希望大家能够认真学习java/oracle日期处理。
首先第一种转换方式是:将字符串类型的转换成数字类型的,这中方法转换直接用to_number()进行转换,具体的语法为to_number(str)就可以了。
请点击输入图片描述
当然上面是简单的形式,是根据字符串的形式直接改变成数字类型的,当然如果们对数字做了一点要求,那该如何呢?
请点击输入图片描述
请点击输入图片描述
第二种:将数字类型转换成字符串类型的。
这种转换方式用to_char(),其实转换的方式有点类似上面的to_number()模式,至于后面的999代表的和上面的意思一样。
请点击输入图片描述
请点击输入图片描述
第三种:将日期类型转换成字符串类型
这种方法其实也用的是to_char(),就是将日期格式的转换成自己想要的格式类型的,这种方法比较个性化一点。
请点击输入图片描述
下面这种将日期类型转换成我们常见的字符串类型,这种转换方式用的频率比较多一点,也是一种比较全的字符串格式。
请点击输入图片描述
最后一种:将字符串类型转换成日期类型,这种转换方式用to_date()进行转换。用法也比较简单,转换的日期格式也是自己自定义的。
请点击输入图片描述
最后总结一下:这三种转换无非就是to_char(),to_number(),to_date()之间的转换,当我们在计算的时候,一定要通过转换的方式转换成同一种类型再进行计算。
oracle的服务器时间,是由服务器的系统时间控制的,所以要看服务器的具体类型,以windows 10和linux系统为例分别说明。
工具:windows 10、linux
windows 10操作步骤:
1、右键开始菜单,选择控制面板。
2、找到日期和时间,点击进入。
3、点击更改日期和时间。
4、进入后,修改日期时间,保存即可。
linux下更改方法:
1、以root用户登录到指定服务器。
2、执行命令
date -s '2017-07-11 23:58:00'
这是将系统时间修改为2017年7月11日23点58分00秒。
3、修改后,reboot重启系统即可。