我想我需要RegEx,但这对我来说是新的......
我在文本文件中有200行数据,100行INSERT INTO行和100对应的VALUE行。
所以它看起来像这样:
INSERT INTO DB1.Tbl1 (Col1, Col2, Col3........Col20)
VALUES(123, 'ABC', '201450204 15:37:48'........'DEF')
我想要做的是用以下代码替换Col3中的每个Date / Timestamp值:CURRENT_TIMESTAMP。每行的日期/时间戳都不相同。它们有所不同,但它们都在第3列。
此表中有100条记录,其他一些表格更多,这就是我寻找快捷方式的原因。
答案 0 :(得分:0)
试试这个:
使用(INSERT[^,]+,[^,]+,)([^,]+,)([^']+'[^']+'[^']+)('[^']+',)
进行搜索并替换为$1$3
并在记事本++中选中标记正则表达式
答案 1 :(得分:0)
使用
你可以搜索
^(VALUES\(\d+, '[^']+', )'(\d{9} \d{2}:\d{2}:\d{2})'
并替换为
\1CURRENT_TIMESTAMP
沿着RegEx101。 (请记住,Notepad ++在替换字符串中使用反斜杠...)
就个人而言,我考虑直接进入数据库,并在那里修复时间戳 - 特别是,如果你有更多的数据需要处理。 (有关一般概念,请参阅我上面的评论。)
如果需要进一步的细节/调整,请发表评论。