表名:STK_TRD_CALENDAR
DB:ORACLE
-- Create table
drop table STK_TRD_CALENDAR cascade constraints;
create table STK_TRD_CALENDAR
(
stkex CHAR(1),
stkbd CHAR(2),
physical_date NUMBER(8),
trd_date_flag CHAR(1),
sett_date_flag CHAR(1)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table STK_TRD_CALENDAR is '证券日历';
-- Add comments to the columns
comment on column STK_TRD_CALENDAR.stkex is '证券交易所,DD[STKEX]';
comment on column STK_TRD_CALENDAR.stkbd is '交易板块DD[STKBD]';
comment on column STK_TRD_CALENDAR.physical_date is '物理日期';
comment on column STK_TRD_CALENDAR.trd_date_flag is '交易日标志,DD[TRD_DATE_FLAG]0:非交易日,1:是交易日';
comment on column STK_TRD_CALENDAR.sett_date_flag is '清算日标志,DD:''0'' -- 非结算日;''1'' -- 是清算日';
取所传日期对应的交易日,如果所传日期不是交易,则延后取到交易日为准
--查找下一个交易日
/*
*@PARAM QUERY_DATE 当天
*@PARAM QUERY_INTERVAL 间隔天数,默认为1
*@PARAM STKBD 交易板块,如果没有可以用**表示
*/
SELECT MIN(PHYSICAL_DATE) as DEALER_DATE FROM STK_TRD_CALENDAR WHERE
PHYSICAL_DATE>TO_NUMBER(TO_CHAR(TO_DATE('${QUERY_DATE}','YYYYMMDD')+(SELECT
DECODE('${QUERY_INTERVAL}',NULL,1,'${QUERY_INTERVAL}') FROM DUAL),'YYYYMMDD')) AND
TRD_DATE_FLAG='1' AND SETT_DATE_FLAG='1' AND STKBD = '${STKBD}'