重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、如果你的日期字段形如yyyy-mm-dd,sql如下select 你要的字段 from 你的表名 where 日期字段=to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd')2、如果你的时间字段形如yyyy-mm-dd HH24:MI:SS,sql如下select 你要的字段 from 你的表名 where 日期字段=sysdate
创新互联专注于企业成都全网营销推广、网站重做改版、西工网站定制设计、自适应品牌网站建设、H5建站、商城开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为西工等各大城市提供网站开发制作服务。
1 不用转换,直接相减,看正负。结果还可以表明两个日期的差距,正的说明前者大,负的是后者大。
2 做判断是大于还是小于。
日期格式直接减
select
to_date('20130120','yyyymmdd')-to_date('20130110','yyyymmdd')
from
dual;
结果为10
//
获取数据库的连接这些操作我就省了
PreparedStatement
pstmt
=
conn.prepareStatement("SELECT
*
FROM
H_TEST");
ResultSet
rs
=
pstmt.executeQuery();
ResultSetMetaData
rsmd
=
rs.getMetaData();
//获取字段名
if(rsmd
!=
null){
int
count
=
rsmd.getColumnCount();
for(int
i=1;i=count;i++){
System.out.println("获得1列对应数据类型的类
"
+
rsmd.getColumnClassName(1));
//
rsmd
还有其他的
方法可用,你可以查看JDK中
ResultSetMetaData
类的帮助文档}
如果是date型比较大小,直接用大于、小于比较就可以了。
字符型的也可以直接比较或者转化为to_date('20121106','yyyymmdd')再比较。
日期相减 date1-date2 算出来的为多少天,*24可以转化差多少小时,同理*24*60*60为相差多少秒
代码如下:
d2 := to_date('20190528','yyyymmdd');
d3 := to_date('20170101','yyyymmdd');
d4 := sysdate;
if d1d3 then --格式不同进行比较
dbms_output.put_line('d1d3');
end if;
if d2d3 then --格式相同比较
dbms_output.put_line('d2d3');
end if;
if d1d4 then --格式不同进行比较
dbms_output.put_line('d1d4');
end if;
dbms_output.put_line('d4是:'||d4);
end;
扩展资料
oracle sql日期比较
oracle sql日期比较:
在今天之前:
select * from up_date where update to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
select * from up_date where update = to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
在今天只后:
select * from up_date where update to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
select * from up_date where update = to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
精确时间:
select * from up_date where update = to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
时间日期字段在数据库底层都是以时间戳的形式存储的,日期比较其实就简单的转换成了时间戳的比较, 也就是数字的比较
时间戳就是 格林威治时间1970年01月01日00时00分00秒到指定日期时间之间的秒数
2012-01-11 00:00:00的时间戳就是1326211200比较时间字段,底层实际比较的就是这个数字的时间戳