I have a string that has a TO_DATE function in it. I would like to replace this TO_DATE call with SYSDATE.
For example, my string is basically a SQL insert or update, so I have something like
INSERT INTO table_a (col_a, col_b, col_c, updt_dt) VALUES ('A', 'B', 'C', to_date('2012-06-11 22:10:44', 'YYYY-MM-DD HH24:MI:SS'));
And I want to replace the TO_DATE call with this:
INSERT INTO table_a (col_a, col_b, col_c, updt_dt) VALUES ('A', 'B', 'C', SYSDATE);
Remember, this entire insert statement is in one database field. So, how could I use regexp_replace to replace the TO_DATE call with SYSDATE?
I am running Oracle 10gR2.
Using
sedon linux:sed -e "s/to_date([A-Za-z0-9:' ,-]\+)/sysdate/g" <<< "INSERT INTO table_a (col_a, col_b, col_c, updt_dt) VALUES ('A', 'B', 'C', to_date('2012-06-11 22:10:44', 'YYYY-MM-DD HH24:MI:SS'));"If you’re not using linux, the find/replace regexp is:
s/to_date([A-Za-z0-9:' ,-]+)/sysdate/gIt should be compatible with most of the regexp engines used by editors