2011-09-21 48 views
0

我正在嘗試運行一個選擇查詢,該查詢將在2300的日期範圍內提供所有排定的計劃。有沒有辦法將預定的日期/時間轉換爲恰好一小時?這是我到目前爲止:查詢僅在特定時間發生的交易

SELECT DISTINCT USERCODE, 
      TRANSACTIONID, 
      ACTION, 
      TRANSACTIONHOUR, 
      SOURCE, 
      RXNUMBER, 
      DESCRIPTION, 
      MASTERPATIENTID, 
      FACILITYCODE, 
      ADMINISTRATIONTIME 
FROM ( ABC.TL TL 
     INNER JOIN 
      ABC.S_VIEW S_VIEW 
     ON (TL.RXNUMBER = S_VIEW.RXNUMBER)) 
    INNER JOIN 
     ABC.PV PATIENTVISIT 
    ON (TL.MASTERPATIENTID = PV.MASTERPATIENTID) 
WHERE (TL.USERCODE NOT IN ('ABC')) 
    AND (TL.ACTION IN ('A', 'DC')) 
    AND (TL.TRANSACTIONHOUR BETWEEN to_date('2011-07-01 00:00:00', 'yyyy/mm/dd hh24:mi:ss') AND to_date('2011-09-30 23:59:59', 'yyyy/mm/dd hh24:mi:ss') 

我想查詢包括在指定的日期,但只有在2300年的所有分配。數據庫是Oracle 10g。

回答

1

首先,您以不同的格式給出了日期字符串,格式不同。保持一致。

試試這個:

SELECT DISTINCT USERCODE, 
      TRANSACTIONID, 
      ACTION, 
      TRANSACTIONHOUR, 
      SOURCE, 
      RXNUMBER, 
      DESCRIPTION, 
      MASTERPATIENTID, 
      FACILITYCODE, 
      ADMINISTRATIONTIME 
FROM ( ABC.TL TL 
     INNER JOIN 
      ABC.S_VIEW S_VIEW 
     ON (TL.RXNUMBER = S_VIEW.RXNUMBER)) 
    INNER JOIN 
     ABC.PV PATIENTVISIT 
    ON (TL.MASTERPATIENTID = PV.MASTERPATIENTID) 
WHERE (TL.USERCODE NOT IN ('ABC')) 
    AND (TL.ACTION IN ('A', 'DC')) 
    AND (TL.TRANSACTIONHOUR BETWEEN to_date('2011/07/01 00:00:00', 'yyyy/mm/dd hh24:mi:ss') AND to_date('2011/09/30 23:59:59', 'yyyy/mm/dd hh24:mi:ss') 
    AND TO_CHAR(TL.TRANSACTIONHOUR, 'HH24MI') = '2300' --THIS IS THE NEW CONDITION 
+0

這工作!謝謝! – Shaji