Formatering av date

Hvordan datoer skal se ut

create table datetest(
id int not null,
dato date,
primary key (id) );
  1. insert into datetest values(1, '01.01.2001');
  2. insert into datetest values(2, '12-10-1999');
  3. insert into datetest values(3, TO_DATE('12-DES-2001', 'DD-MON-YYYY'));
  4. insert into datetest values(4, '12.Mai 2001');
  5. select * from datetest;
SQL> ALTER SESSION SET NLS_DATE_FORMAT='DAY DD.MONTH YYYY';

Resultater:

  1. 
      values(1, '01.01.2001')
                *
      FEIL på linje 2:
      ORA-01846: ikke en gyldig dag i uken
      
  2. 
        values(2, '12-10-1999')
                  *
        FEIL på linje 2:
        ORA-01846: ikke en gyldig dag i uken
      
  3. 
        1 rad opprettet.
      
  4. 
        values(4, '12.Mai 2001')
                  *
        FEIL på linje 2:
        ORA-01846: ikke en gyldig dag i uken
      
  5. 
               ID DATO                     
        --------- -------------------------
                3 ONSDAG  12.DESEMBER  2001
      

SQL> ALTER SESSION SET NLS_DATE_FORMAT='DD-MM-YYYY';

Resultater:

  1. 
        1 rad opprettet.
      
  2. 
        1 rad opprettet.
      
  3. 
        1 rad opprettet.
      
  4. 
        1 rad opprettet.
      
  5. 
               ID DATO          
        --------- ---------- 
                1 01-01-2001    
                2 12-10-1999    
                3 12-12-2001    
                4 12-05-2001    
      

SQL> ALTER SESSION SET NLS_DATE_FORMAT='DD.MONTH YYYY';

Resultater:

  1. 
        values(1, '01.01.2001')
                  *
        FEIL på linje 2:
        ORA-01843: ikke en gyldig måned
      
  2. 
        values(2, '12-10-1999', 1.2)
                  *
        FEIL på linje 2:
        ORA-01843: ikke en gyldig måned
      
  3. 
        1 rad opprettet.
      
  4. 
        1 rad opprettet.
      
  5. 
               ID DATO                  
        --------- -----------------
                3 12.DESEMBER  2001
                4 12.MAI       2001
      

Sette språk for navn på dager og måneder

  1. insert into datetest values(3, TO_DATE('12-DES-2001', 'DD-MON-YYYY'));
  2. insert into datetest values(4, '12.Mai 2001');
  3. insert into datetest values(3, TO_DATE('12-DEC-2001', 'DD-MON-YYYY'));
  4. insert into datetest values(4, 'May 12 2001');
  5. select * from datetest;
SQL> ALTER SESSION SET NLS_DATE_FORMAT='DD.MONTH YYYY';
SQL> ALTER SESSION SET NLS_DATE_LANGUAGE=NORWEGIAN;

Resultater:

  1. 
        1 rad opprettet.
      
  2. 
        1 rad opprettet.
      
  3. 
        insert into datetest values(3, TO_DATE('12-DEC-2001', 'DD-MON-YYYY'))
                                               *
        FEIL på linje 1:
        ORA-01843: ikke en gyldig måned
      
  4. 
        insert into datetest values(4, '12.May 2001')
                                        *
        FEIL på linje 1:
        ORA-01843: ikke en gyldig måned
      
  5.            ID DATO
        --------- -----------------
                3 12.DESEMBER  2001
                4 12.MAI       2001
      

SQL> ALTER SESSION SET NLS_DATE_FORMAT='MONTH DDth YYYY';
SQL> ALTER SESSION SET NLS_DATE_LANGUAGE=ENGLISH;

Resultater:

  1. 
        insert into datetest values(3, TO_DATE('12-DES-2001', 'DD-MON-YYYY'))
                                               *
        FEIL på linje 1:
        ORA-01843: ikke en gyldig måned
      
  2. 
        insert into datetest values(4, '12.Mai 2001')
                                       *
        FEIL på linje 1:
        ORA-01843: ikke en gyldig måned
      
  3. 
        1 rad opprettet.
      
  4. 
        1 rad opprettet.
      
  5. 
               ID DATO
        --------- -----------------
                3 DECEMBER  12TH 2001
                4 MAY       12TH 2001
      

Formatted

create table dtest(
id int not null,
fodt date,
primary key (id) );

ALTER SESSION SET NLS_DATE_FORMAT='DD.MM.YYYY HH24:MI';
insert into dtest values(1, '01.10.1995 13:56'); insert into dtest values(2, '15.07.1987 02:36');

  1. select fodt from dtest;
  2. select fodt, TO_CHAR(fodt,'DAY DD.MONTH YYYY "kl." HH24:MI') Formatted
    from dtest;

Resultater:

  1. 
    FODT
    ----------------
    01.10.1995 13:56
    15.07.1987 02:36
    
  2. 
    FODT             FORMATTED
    ---------------- -----------------------------------
    01.10.1995 13:56 SØNDAG  01.OKTOBER   1995 kl. 13:56
    15.07.1987 02:36 ONSDAG  15.JULI      1987 kl. 02:36
    

Tilbake