sql,oracle,date,between,sysdate
You don't need to apply to_date() to sysdate. It is already there: select 1 from dual WHERE sysdate BETWEEN TO_DATE('28/02/2014', 'DD/MM/YYYY') AND TO_DATE('20/06/2014', 'DD/MM/YYYY'); If you are concerned about the time component on the date, then use trunc(): select 1 from dual WHERE trunc(sysdate) BETWEEN TO_DATE('28/02/2014', 'DD/MM/YYYY') AND TO_DATE('20/06/2014', 'DD/MM/YYYY');...
sql,database,oracle,sql-update,sysdate
use systimestamp or sysdate for this based on your need, like below UPDATE certificazione SET data_visualizzazione=systimestamp WHERE ID=1; or UPDATE certificazione SET data_visualizzazione=sysdate WHERE ID=1 will make the give such details about date,time and timezone....
oracle,sql-update,unique-constraint,sysdate
The primary key is a combination of PROJECT_ID, BUG_NO, SNAPSHOT_DATESTAMP, and SNAPSHOT_TYPE. This means you allow (and probably have!) several rows with the same project id, bug number and snapshot type, but from different dates. Your update statement, will attempt to set all the snapshot dates of a given project,...
There is a little trick because of the T inside your format, so you have to cut it in two: with w as ( select sysdate d from dual ) select to_char(w.d, 'yyyy-mm-dd') || 'T' || to_char(w.d, 'hh24:mi:ss') from w; EDIT : A better way exists in a single call...
Apparently all dates are not valid, hence the error you're getting. I would try something like the following (untested, but think it's ok), just to identify the problem records. declare v_date date; begin for c in (select col_a from temp_test) loop begin v_date := to_date(substr(trim(c.col_a),7,8),'YYYYMMDD'); exception when others then dbms_output.put_line(c.col_a);...