Ich habe ein Feld mit dem folgenden Format in meiner Textdatei:
to_timestamp('03-NOV-15 09.08.23.449041000 PM','DD-MON-RR HH.MI.SSXFF AM')
Es gibt Hunderte solcher Werte. Jeder Wert wäre einzigartig, hätte jedoch das folgende Format.
to_timestamp('<unique date>','DD-MON-RR HH.MI.SSXFF AM')
Ich möchte dieses Format ersetzen durchsysdate()
Ich bin ziemlich neu bei diesem regulären Ausdruck. Kann mir bitte jemand helfen?
BEARBEITEN:
Aktueller Text:
Insert into table (column1,column2) values (12,to_timestamp('03-NOV-15 09.08.23.449041000 PM','DD-MON-RR HH.MI.SSXFF AM'));
Insert into table (column1,column2) values (23,to_timestamp('05-DEC-15 12.02.22.301161000 AM','DD-MON-RR HH.MI.SSXFF AM'));
Insert into table (column1,column2) values (34,to_timestamp('05-DEC-15 12.02.22.380390000 AM','DD-MON-RR HH.MI.SSXFF AM'));
Erforderlicher Text:
Insert into table (column1,column2) values (12,sysdate());
Insert into table (column1,column2) values (23,sysdate());
Insert into table (column1,column2) values (34,sysdate());
Antwort1
- Ctrl+H
- Finde was:
\bto_timestamp\(.+?\)
- Ersetzen mit:
sysdate\(\)
- ÜBERPRÜFEN Groß-/Kleinschreibung beachten
- ÜBERPRÜFEN Umwickeln
- ÜBERPRÜFEN Regulären Ausdruck
- Replace all
Erläuterung:
\b # word boundary
to_timestamp # literally
\( # opening parenthesis
.+? # 1 or more any character, not greedy
\) # closing parenthesis
Bildschirmaufnahme (vorher):
Bildschirmaufnahme (nachher):