1
解析我有一個插入查詢:SQL與正則表達式
INSERT INTO EMP (ENAME,DATE,HIRE)
VALUES
('John',TO_DATE('03/14/2005 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),'YES');
我想解析TO_DATE部分和用Perl替換裏面的日期。 (如'14 -mar-05' )
解析代碼是:
+90 if ($statement =~ /(.*)TO_DATE\((.*)\),(.*)/)
+91 {
+92 my $date_format;
+93 if($2 =~ /(.*?)(..\/..\/....)(.*)/)
+94 {
+95 my ($mon,$day,$year) = split (/\//, $2);
+96 foreach my $i (%month)
+97 {
+98 if ($mon eq $i)
+99 {
+100 $year =~ s/^..//;
+101 $date_format = "'" . "$day" . "-" . "$month{$i}" . "-" . "$year". "'";
+102 }
+103 }
+104 }
+105 $statement =~ s/TO_DATE(.*\)?)/$date_format/;
線沒有105代字符串的整個端。我在這裏做錯了什麼?