Convert string based date variable to date type during when comparing : Date Calculation Query « Select Query « Oracle PL / SQL






Convert string based date variable to date type during when comparing

    


SQL> -- create demo table
SQL> create table emp(
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,
  3    fname         VARCHAR2(10 BYTE),
  4    lname          VARCHAR2(10 BYTE),
  5    Start_Date         DATE,
  6    End_Date           DATE,
  7    Salary             Number(8,2),
  8    City               VARCHAR2(10 BYTE),
  9    Description        VARCHAR2(15 BYTE)
 10  )
 11  /

Table created.

SQL>
SQL>
SQL>
SQL> -- prepare data
SQL> insert into emp(ID,  fname, lname, Start_Date,                     End_Date
,                       Salary,  City,       Description)
  2               values ('01','Jason',    'Martin',  to_date('19960725','YYYYMM
DD'), to_date('20060725','YYYYMMDD'), 1234.56, 'Toronto',  'Programmer')
  3  /

1 row created.

SQL> insert into emp(ID,  fname, lname, Start_Date,                     End_Date
,                       Salary,  City,       Description)
  2                values('02','Alison',   'Mathews', to_date('19760321','YYYYMM
DD'), to_date('19860221','YYYYMMDD'), 6661.78, 'Vancouver','Tester')
  3  /

1 row created.

SQL>
SQL>
SQL> declare
  2    dateValue date;
  3    s Number(8,2);
  4    begin
  5         select start_date into dateValue from emp where rownum = 1;
  6         select salary into s from emp where rownum = 1;
  7
  8          IF dateValue > '11-APR-63' then
  9              s :=  s * 1.15;
 10          END IF;
 11
 12
 13       dbms_output.put_line(s);
 14  end;
 15  /
1419.74

PL/SQL procedure successfully completed.

SQL>
SQL> drop table emp;

Table dropped.

SQL>

   
    
    
    
  








Related examples in the same category

1.Add hour, minute and second to a date
2.Add 30 seconds to current date
3.Using arithmetic operators with date values
4.To find the date of the Friday after each start date
5.NEXT_DAY(start_date-1,'Tuesday')
6.Date + to_yminterval('01-05')
7.start_date+TO_DSINTERVAL('100 10:00:00')
8.Born after 1965-01-01