更新1:Notepad++ で動かなかったので修正しました。
更新2:001 のような 0 埋めの数字が ‘ で囲まれない問題を修正しました
Excel のマクロで作っていたのですが、遅かったため正規表現を使って再現してみました。
区切り文字:,
引用符:”
の想定で。
‘ をエスケープ
パターン: ' 置き換え後: ''
文字列を ‘ で囲む
パターン: (?:^|(?<=,))(?!(?:NULL|0|(?:0\.|[1-9])[0-9\.]*)(?:(?=,)|$))(?:"(.*?(?<!\\))"|([^,"\r\n]*))(?:(?=,)|$) 置き換え後: '\1\2'
INSERT 句を付ける
パターン: ^ 置き換え後: INSERT INTO 【テーブル名】 VALUES (
後ろのカッコとデリミタ ; を付ける
パターン: $ 置き換え後: );
※SQL Server の場合は適度に GO を入れましょう。
CSV の , はそのまま生かす形になりました。業務で日常的に使ってはいますが、テストが不十分なので動作は保証したくないです。