Oracle PL/SQL/Date Timezone/TO DATE

Материал из SQL эксперт
Перейти к: навигация, поиск

Combine to_char, add_months and to_date function

   
SQL>
SQL> SELECT TO_CHAR(ADD_MONTHS(TO_DATE("01-JAN-2005 19:15:26","DD-MON-YYYY HH24:
MI:SS"), 2), "DD-MON-YYYY HH24:MI:SS") FROM dual;
TO_CHAR(ADD_MONTHS(T
--------------------
01-MAR-2005 19:15:26
SQL>



TO_CHAR(ADD_MON(TO_DATE("29-FEB-2000","DD-MON-YYYY"),1),"DD-MON-YYYY")

   
SQL>
SQL> SELECT TO_CHAR(ADD_MON(TO_DATE("29-FEB-2000","DD-MON-YYYY"),1),"DD-MON-YYYY")
  2  FROM dual;
TO_CHAR(ADD
-----------
29-MAR-2000
1 row selected.
SQL>
SQL>
SQL> --



to_date() and insert statement

  
SQL>
SQL> create sequence s_emp_id
  2  start with 1000;
Sequence created.
SQL>
SQL>
SQL> create table gift(
  2           gift_id                integer         primary key
  3          ,emp_id                integer
  4          ,register_date              date not null
  5          ,total_price        number(7,2)
  6          ,deliver_date           date
  7          ,deliver_time           varchar2(7)
  8          ,payment        varchar2(2)
  9          ,emp_no                 number(3,0)
 10          ,deliver_name           varchar2(35)
 11          ,message        varchar2(100)
 12  );
Table created.
SQL>
SQL> insert into gift(gift_id,emp_id,register_date,total_price,deliver_date,deliver_time,payment,emp_no,deliver_name,message)values
  2                 (1,1,"14-Feb-1999", 123.12, "14-Feb-1999", "12 noon", "CA",1, null, "Happy Birthday to you");
1 row created.
SQL> insert into gift(gift_id  ,emp_id ,register_date ,total_price ,deliver_date ,deliver_time ,payment ,emp_no,deliver_name ,message)values
  2                 (2,1,"14-Feb-1999", 50.98, "14-feb-1999", "1 pm", "CA",7, "name1", "Happy Birthday");
1 row created.
SQL> insert into gift(gift_id  ,emp_id ,register_date ,total_price ,deliver_date ,deliver_time,payment ,emp_no,deliver_name ,message )values
  2                 (3, 2,"14-Feb-1999", 35.99, "14-feb-1999", "1 pm", "VS",2, "Tom", "Happy Birthday");
1 row created.
SQL> insert into gift(gift_id  ,emp_id ,register_date ,total_price ,deliver_date ,deliver_time,payment ,emp_no,deliver_name ,message )values
  2                 (4, 2,"14-Feb-1999", 19.95, "14-feb-1999", "5 pm", "CA",2, "Mary", "Happy Birthday");
1 row created.
SQL> insert into gift(gift_id  ,emp_id ,register_date ,total_price ,deliver_date ,deliver_time,payment ,emp_no,deliver_name ,message)values
  2                 (5, 6,"4-mar-1999", 10.95, "5-mar-1999", "4:30 pm", "VS", 2, "Jack", "Happy Birthday");
1 row created.
SQL>
SQL>
SQL> insert into gift (gift_id, emp_id, register_date, payment)
  2  values (s_emp_id.nextval, s_emp_id.currval,
  3    to_date("01/15/2000", "mm/dd/yyyy"), "VS");
1 row created.
SQL>
SQL>
SQL> drop table gift;
Table dropped.
SQL>
SQL> drop sequence s_emp_id;
Sequence dropped.
SQL>



Use to_date in insert statement

   
SQL>
SQL>
SQL>  create table author_log(
  2      activity clob,
  3      completed date
  4    )
  5    /
Table created.
SQL>
SQL>
SQL>  insert into author_log values (
  2      "Began SQL Functions appendix",
  3      to_date( "04-NOV-2001 08:00", "DD-MON-YYYY HH24:MI" )
  4    )
  5    /
1 row created.
SQL>
SQL> select * from author_log;
ACTIVITY                                                                         COMPLETED
-------------------------------------------------------------------------------- ---------
Began SQL Functions appendix                                                     04-NOV-01
1 row selected.
SQL>
SQL> drop table author_log;
Table dropped.
SQL>
SQL> --



Using TO_DATE Within PL/SQL

   
SQL>
SQL> DECLARE
  2       v_Convert_Date DATE;
  3  BEGIN
  4       v_Convert_Date := TO_DATE("031092","MMDDYY");
  5       DBMS_OUTPUT.PUT_LINE("The converted date is: " || v_Convert_Date);
  6  END;
  7  /
The converted date is: 10-MAR-2092 00:00:00
PL/SQL procedure successfully completed.
SQL>
SQL> --