我正在处理字符串转换问题。要求是这样的:在PARSE中匹配自定义标记
line: {INSERT INTO `pub_company` VALUES ('1', '0', 'ABC大学', 'B', 'admin', '2014-10-09 11:40:44', '', '105210', null)}
==>
line: {INSERT INTO `pub_company` VALUES ('1', '0', 'ABC大学', 'B', 'admin', to_date('2014-10-09 11:40:44', 'yyyy-mm-dd hh24:mi:ss'), '', '105210', null)}
注意:在'2014-10-09 11:40:44'
转化为to_date('2014-10-09 11:40:44', 'yyyy-mm-dd hh24:mi:ss')
。
我的代码看起来像下面:
date: use [digit][
digit: charset ""
[4 digit "-" 2 digit "-" 2 digit space 2 digit ":" 2 digit ":" 2 digit]
]
parse line [ to date to end]
,但我得到这个错误:由于date
值的位置是
probe parse "SSS 2016-01-01 00:00:00" [thru 3 "S" space date to end] ;true
probe parse "SSS 2016-01-01 00:00:00" [ to date to end] ; the error above
:
** Script error: PARSE - invalid rule or usage of rule: digit
** Where: parse do either either either -apply-
** Near: parse line [to date to end]
我已经做了一些测试,在我的所有数据集中都不一样,我怎样才能达到它并匹配它并做出相应的改变?
嗨HostileFork,谢谢你的解释。我知道这个的原因。我以间接的方式做到了。 –