2013-07-10 99 views
0

我想在某個日期替換小時,例如,如果我有 07/07/13 11:15,我想從07/07/13 00:00開始第一次約會。PLSQL在某個日期替換時間

所以,我想要做的是這樣的:

textDate := TO_CHAR (auxDate, 'DD/MM/RR')||' '||textHour||':'||textMin; 
endDate := TO_DATE(textDate, 'DD/MM/RR hh:mm'); 

當我運行的SP,它給了我下面的錯誤:

ORA-01810: format code appears twice

auxDate被聲明爲DATE,textDate作爲VARCHAR2(20),endDate是DATE。

你能幫我解決嗎?

回答

0

將您的日期重置爲午夜,然後添加所需的小時數和分鐘數。

endDate := trunc(auxDate) + textHour/24 + textMin/24/60; 
+0

完美,它的作品!謝謝! – mdlapla

1

您有to_date格式的拼寫錯誤。它必須是心肌梗死和不毫米

endDate := TO_DATE(textDate, 'DD/MM/RR hh:mi'); 
0
DECLARE 
    textDate_YYYYMMDD VARCHAR2(8) := '20130101'; 
    textDate_HH  VARCHAR2(2) := '13'; 
    textDate_MM  VARCHAR2(2) := '15'; 
    textDate_mask  VARCHAR2(14) := 'YYYYMMDDHH24MI'; 
    textDate   DATE   := TO_DATE(textDate_YYYYMMDD || textDate_HH || textDate_MM, textDate_mask); 
BEGIN 
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(textDate, textDate_mask)); 
END; 
/* 
anonymous block completed 
201301011315 
*/