मैं आज तक 08-एपीआर -13 से 100 दिन पहले प्राप्त करना चाहता हूं।
पीएल/एसक्यूएल तिथि के रूप में एक्स दिन पहले कैसे प्राप्त करें?
pl/sql के साथ इसे कैसे करें?
मैं आज तक 08-एपीआर -13 से 100 दिन पहले प्राप्त करना चाहता हूं।
पीएल/एसक्यूएल तिथि के रूप में एक्स दिन पहले कैसे प्राप्त करें?
pl/sql के साथ इसे कैसे करें?
अनुमान लगाया गया था कि 08-APR-13
आपकी स्थिति में एक स्ट्रिंग है। तो आपको पर to_date
फ़ंक्शन का उपयोग करके इसे बदलने की आवश्यकता है, और उसके बाद बस 100 अक्षर घटाएं।
एसक्यूएल
SQL> select (to_date('08-APR-13', 'DD-MON-RR') - 100) res
2 from dual
3/
RES
-----------
29-12-2012
PL/SQL
SQL> declare
2 l_res_date date;
3 l_in_date varchar2(11) := '08-APR-13';
4 begin
5 select (to_date(l_in_date, 'DD-MON-RR') - 100)
6 into l_res_date
7 from dual;
8
9 dbms_output.put_line(to_char(l_res_date, 'dd-mon-yy'));
10 end;
11/
29-dec-12
PL/SQL procedure successfully completed
या
SQL> declare
2 l_res_date date;
3 l_in_date varchar2(11) := '08-APR-13';
4 begin
5
6 l_res_date := to_date(l_in_date, 'DD-MON-RR') - 100;
7
8 dbms_output.put_line(to_char(l_res_date, 'dd-mon-yy'));
9 end;
10/
29-dec-12
PL/SQL procedure successfully completed
यह सिर्फ द्वारा चयन क्वेरी किया जा सकता है निकोलस Krasnov के रूप में शून्य .. एक समारोह बनाकर pl/sql में DATE_AGO जिसका इनपुट पैरामीटर दिनांक और दिनों की संख्या आपको घटाने की आवश्यकता है ...
create or replace function DATE_AGO(DATE1 date, NUMBER_DAYS number) return date
is
V_DATE1 date:=DATE1;
v_NUMBER_DAYS number:=NUMBER_DAYS;
begin
V_DATE1:=V_DATE1-v_NUMBER_DAYS;
return V_DATE1;
when OTHERS then
DBMS_OUTPUT.PUT_LINE(SQLCODE);
end DATE_AGO;
/
SHOW ERRORS;
select DATE_AGO('08-APR-13',100) from DUAL;