导航:首页 > 净水问答 > oracle日期过滤

oracle日期过滤

发布时间:2023-08-28 00:50:26

① oracle计算N个工作日后的日期,过滤

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Vector;
class MyCalander
{
private int year, month, day;
private Date startDay;
private Vector<Date> holidays;
public MyCalander()
{
startDay = new Date();
holidays = new Vector<Date>();
}
public void SetStartDay(String str)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
try {
startDay = sdf.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
}
public void SetHoliday(String str)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date hd = new Date();
try {
hd = sdf.parse(str);
holidays.add(hd);
} catch (ParseException e) {
e.printStackTrace();
}
}
public void GetWorkDay(int n)
{
Calendar calendar = Calendar.getInstance();
Date cursorDay = startDay;
for(int i = 0; i < n; i++)
{
calendar.setTime(cursorDay);
do{
calendar.add(Calendar.DATE, 1);
cursorDay = calendar.getTime();
}while(calendar.get(Calendar.DAY_OF_WEEK) == 1 ||
calendar.get(Calendar.DAY_OF_WEEK) == 7 ||
holidays.contains(calendar.getTime()));
}
System.out.println("The day is :" + cursorDay);
}
}
public class test
{
public static void main(String [] args)
{
MyCalander myCalander = new MyCalander();
myCalander.SetStartDay("2013/2/25");
myCalander.SetHoliday("2013/3/11");
myCalander.SetHoliday("2013/3/8");
/************************************************
* connect database and set holidays here.
* for(...)
* myCalander.SetHoliday("yyyy/mm/dd");
***********************************************/
myCalander.GetWorkDay(10);
}

执行结果:
C:\>java test
The day is :Wed Mar 13 00:00:00 JST 2013

② oracle去除不合法日期

2个办法:

1. 用游标,逐行进行to_date(datecol,'yyyymmdd'),如果出现exception,则日期格式错误。

2. 自己写一个函数,输入日回期字符串,答输出1/0
判断此格式的字符串是否是正确的日期,函数中可以:
a. 用to_date(datecol,'yyyymmdd'),如果出现exception,则日期格式错误,返回0;否则返回1。
或者

b. 自己进行日期的规则判断:1年有12个月,各个月有多少天(闰年的2月需要特别处理)
然后update或者delete

比如 delete from table where f_date_validate(datecol) = 0;

③ oracle数据库的过滤问题:如何过滤两个表中相同的部分数据。比如说A表与B表都有记录

试试下面的SQL语句是否符合你的需求: --A:
select XX_id
from tiantiantian
where sum_date=20110420
and XX_status < 30
and XX_type in (1009, 1008, 1003, 1011)
and XX_date > to_date(20110420, 'yyyymmdd')
and not exists(
select xx_id from dididi
where sum_date=20110420
and XX_status < 30
and XX_type in (1009, 1008, 1003, 1011)
and XX_date > to_date(20110420, 'yyyymmdd'));
--B:
select XX_id
from dididi
where sum_date=20110420
and XX_status < 30
and XX_type in (2001)
and XX_date > to_date(20110420, 'yyyymmdd')
and not exists(
select xx_id from tiantiantian
where sum_date=20110420
and XX_status < 30
and XX_type in (2001)
and XX_date > to_date(20110420, 'yyyymmdd'));

④ Oracle过滤掉无用的日期数据问题

日期强烈不建议使用字符串。。。。。
写存储过程可以搞搞

⑤ oracle怎么计算两个日期之间去除周末的天数

selectcount(1)from(
selectto_char(TO_DATE('2016-12-24','yyyy-MM-dd')-level,'d')DOW
fromal
connectbylevel<=trunc(TO_DATE('2016-12-24','yyyy-MM-dd')-TO_DATE('2016-11-19','yyyy-MM-dd'))
)whereDOWnotin(7,1);

总结:

第一层查询是通过connectbylevel生成两个日期间的天数行

其中to_char(,'d')DOW字段返回的是周几的对应1~7的数字

第二层查询就是去掉周六周日然后count天数

⑥ kettle 怎么根据时间字段进行过滤

今天使用kettle从mysql导数到oracle,发现只导了7行后,数据传输就终止了,查看日志信息,报内错如下容:

image

报:Couldn't get row from result set问题。

发现从这行开始这个时间字段除了正常的时间数据以外还有NULL值,难道这类的值引起的错误,在查询了相关资料后,才知道jdbc(默认行为)认为null或'0000-00-00'这样的日期时间值是无效的。如果想避开这个问题,需要编辑jdbc的连接属性,添加如下属性值:

zeroDateTimeBehavior=convertToNull

image

设置之后导数成功进行。

image

所以,设计生产系统中的相关表时,默认值最好不要使用'0000-00-00'或null这样的值。

⑦ Oracle Sql 查询按时分过滤时间区段

SQL>CREATETABLET(KSSJDATE,JSSJDATE);

表已创建。

SQL>INSERTINTOTVALUES(to_date('09:30','HH24:MI'),to_date('11:30','HH24:MI'));

已创建1行。

SQL>COMMIT;

提交完成。

SQL>SELECTTO_CHAR(KSSJ+((ROWNUM-1)/48),'HH24:MI')KSSJ,TO_CHAR(KSSJ+(ROWNUM/48),'HH24:MI')JSSJ
2FROMTCONNECTBYROWNUM<=4;

KSSJJSSJ
----------
09:3010:00
10:0010:30
10:3011:00
11:0011:30

是你说的意思不?

阅读全文

与oracle日期过滤相关的资料

热点内容
安徽游泳池净水设备多少钱 浏览:962
洗衣机过滤袋那个怎么安 浏览:992
空气净化器显示iai是什么 浏览:761
山东德州回蛟河用隔离吗 浏览:981
为什么污水管都比较深 浏览:367
精子在污水里存活多久 浏览:420
岩棉用酚醛树脂体系分解 浏览:619
锦州净水厂在哪里 浏览:628
污水处理站药剂叫什么 浏览:255
纯水机有水垢怎么处理 浏览:476
EDI电子数据转换 浏览:567
污水提升泵能满足洗衣机 浏览:533
colmo超滤净水器 浏览:873
污水泵油封里边儿加什么油 浏览:679
污水处理设备官网海普欧污水处理 浏览:571
饮水机桶装水平面图怎么画 浏览:311
乙烯基树脂胶管 浏览:712
养猪废水回用研究 浏览:962
多联空调风管机带提升泵吗 浏览:479
水培法对照组用蒸馏水 浏览:546