已知:oracle數據有一表:trade_date 存有證券交易的日期日歷(字段名tdate,類型為varchar2),只存儲交易日(周末、春節、國慶等假日不在此表)。
現有一需求需要做:
判斷當前日期是否是交易日?
如果是,則查找上一個交易日的日期;如果否,則不做任何處理。
我目前的思路是,先查找當天日歷,如果在交易表中存在,即當天是交易日。
我查找上一交易日時,采取的思路是,在日歷表中查找日期小於當前日期的記錄且限定記錄數為1,
select tdate from trade_date where rownum<=1 and tdate<'20130618' order by tdate desc;
大家覺得這樣可行嗎,或者有沒有更好的思路?
查找上一個交易日(我的理解是如果今天是交易日,那麼就查詢昨天的交易日信息,出來的結果應該就只有1個),那麼個人覺得sql語句應該是這樣:
select top 1 tdate from trade_date where tdate<'20130618' order by tdate desc;