我有以下postGreSQL代码,我需要让它在MYSQL上运行
v_start_date := to_date(substring( paramweek, '^...........'), 'DD Mon YYYY');
v_end_date := to_date(substring( paramweek, '...........$'),'DD Mon YYYY');
where
^ beginning of line
$ end of line
and paramweek is a character varying
我尝试过运行,但它没有在MYSQL中提供任何o / p
答案 0 :(得分:1)
TO_DATE()
不是MySQL中的已知函数。最接近的是STR_TO_DATE()
,这要求使用DATE_FORMAT()
下记录的格式说明符给出日期格式。
SUBSTRING()
是一个已知的MySQL函数,但它的两个参数版本采用索引位置来从中切割第一个参数。没有本机MySQL函数可以从正则表达式匹配中检索子字符串。但是,在这种情况下,您只能使用LEFT()
和RIGHT()
:
SET v_start_date := STR_TO_DATE( LEFT(paramweek, 11), '%d %b %Y'),
v_end_date := STR_TO_DATE(RIGHT(paramweek, 11), '%d %b %Y');