1.今天客户让我书写sql。(今年1月份到现在发布了多少条信息)
每每遇到日期我就懵逼,或者当时遇到问题当时百度。过后又忘记了,又继续新问题,今天来总结下
2.日期转换格式,to_char和to_date
3.本身时间字段是date类型,那么操作大于2017-01-01的发布信息,查询略过,条件是create_date> to_date(‘2017-1-1‘, ‘yyyy-MM-dd ‘),注意可以过滤到时分秒
4.本身时间字段是varchar字段,那么操作大于2017-1-1的发布信息,条件就要多转一次,本身字段也要处理到to_date,如下sql条件to_date(substr(show_date,1,10),‘yyyy-mm-dd‘)>= to_date(‘2017-1-1‘, ‘yyyy-MM-dd‘),请注意,本身这个varchar时间字段的完整是到时分秒,那么转的时候也要到时分秒,否则会报错:提示 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 错误
这个错误的意思就是字段是到时分秒,转换的时候却只到了年月日,所以会报错!切记。这时可以加上时分秒,也可以截取处理,substr 1到10的索引就是年月日的处理了;
5.无论日期的比较,都要转成to-date,否则无法比较出大于日期的条数,
6.对方是什么字段什么类型,就要按照格式进行对应的转换处理;
7.另外日期格式转换在java里有个simpleDateFormat处理,创建对象可以指定日期格式;有parse和format方法,分别是日期和string之间的转换;如下所示:
SimpleDateFormat sdfDateFormat =new SimpleDateFormat("yyyyMMddHHmm");
String moment=sdfDateFormat.format(new Date());
原文地址:https://www.cnblogs.com/wuyachal/p/9037326.html