导航:首页 > 净水问答 > 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日期过滤相关的资料

热点内容
自来水厂如何处理净化污水 浏览:83
工业酒精的蒸馏及沸点测定实验报告 浏览:714
glc有两个空调滤芯多少钱 浏览:36
电解污水可以回用 浏览:531
单级反渗透怎么清理滤沙 浏览:8
树脂有毒用水洗有用吗 浏览:147
廊坊美的净水器加盟前景如何 浏览:648
饮水机杯子架怎么贴 浏览:737
格兰富污水提升器说明书 浏览:583
饮水机前面怎么拆开 浏览:906
单次超滤每次不超过体重多少 浏览:394
为而思卫生间提升泵马桶 浏览:657
爱佳尔不锈钢滤芯怎么换 浏览:910
养荷花如何净水 浏览:943
格美净水机什么价位 浏览:257
净化器油烟大怎么办 浏览:657
论文化学水处理 浏览:177
瑞风m5空调滤芯在哪里视频 浏览:542
四分之三的废水流向农田怎么翻译 浏览:410
净水机什么牌子的滤芯 浏览:646