首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regex的SQL解析

使用regex的SQL解析
EN

Stack Overflow用户
提问于 2013-05-16 13:27:32
回答 1查看 127关注 0票数 1

我有一个插入查询:

代码语言:javascript
复制
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-3月-05”)

解析代码是:

代码语言:javascript
复制
   +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号正在替换字符串的整个结尾。我在这里做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-16 13:32:30

您在第105行的括号中弄错了,下面的内容应该有效:

代码语言:javascript
复制
  +105             $statement =~ s/TO_DATE\(.*?\)/$date_format/;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16588745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档