The following lines contain the word 'select', 'insert', 'update' or 'delete':
select value
into nls_date_fmt
from nls_session_parameters
where parameter = 'NLS_DATE_FORMAT';
select decode(length (string),
base_len, to_date(string, nls_date_fmt),
base_len + 6, to_date(string, nls_date_fmt || ' HH24:MI'),
base_len + 9, to_date(string, nls_date_fmt || ' HH24:MI:SS'),
to_date(string, 'ABC')) -- Intentional exception!
into out_date
from sys.dual;
Select Decode (Length (string),
base_len, To_Date (string, 'DD-MON-RR'),
base_len + 2, To_Date (string, 'DD-MON-YYYY'),
base_len + 6, To_Date (string, 'DD-MON-RR HH24:MI'),
base_len + 8, To_Date (string, 'DD-MON-YYYY HH24:MI'),
base_len + 9, To_Date (string, 'DD-MON-RR HH24:MI:SS'),
To_Date (string, 'DD-MON-YYYY HH24:MI:SS'))
into out_date
from Sys.Dual;
Select Decode (Length (string),
base_len, To_Date (string, 'DD-MM-RR'),
base_len + 2, To_Date (string, 'DD-MM-YYYY'),
base_len + 6, To_Date (string, 'DD-MM-RR HH24:MI'),
base_len + 8, To_Date (string, 'DD-MM-YYYY HH24:MI'),
base_len + 9, To_Date (string, 'DD-MM-RR HH24:MI:SS'),
To_Date (string, 'DD-MM-YYYY HH24:MI:SS'))
into out_date
from Sys.Dual;
Select Decode (Length (string),
10, To_Date (string, 'YYYY/MM/DD'),
16, To_Date (string, 'YYYY/MM/DD HH24:MI'),
19, To_Date (string, 'YYYY/MM/DD HH24:MI:SS'))
into out_date
from Sys.Dual;
select value
into nls_date_lang
from nls_session_parameters
where parameter = 'NLS_DATE_LANGUAGE';
select value
into nls_date_fmt
from nls_session_parameters
where parameter = 'NLS_DATE_FORMAT';
select decode(length (string),
base_len, nls_date_fmt,
base_len + 6, nls_date_fmt || ' HH24:MI',
base_len + 9, nls_date_fmt || ' HH24:MI:SS',
NULL)
into out_fmt
from sys.dual;
Select Decode (Length (string),
base_len, 'DD-MON-RR',
base_len + 2, 'DD-MON-YYYY',
base_len + 6, 'DD-MON-RR HH24:MI',
base_len + 8, 'DD-MON-YYYY HH24:MI',
base_len + 9, 'DD-MON-RR HH24:MI:SS',
base_len + 11, 'DD-MON-YYYY HH24:MI:SS',
NULL)
into out_fmt
from Sys.Dual;
Select Decode (Length (string),
base_len, 'DD-MM-RR',
base_len + 2, 'DD-MM-YYYY',
base_len + 6, 'DD-MM-RR HH24:MI',
base_len + 8, 'DD-MM-YYYY HH24:MI',
base_len + 9, 'DD-MM-RR HH24:MI:SS',
base_len + 11, 'DD-MM-YYYY HH24:MI:SS',
NULL)
into out_fmt
from Sys.Dual;
Select Decode (Length (string),
10, 'YYYY/MM/DD',
16, 'YYYY/MM/DD HH24:MI',
19, 'YYYY/MM/DD HH24:MI:SS',
NULL)
into out_fmt
from Sys.Dual;