首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在STR_TO_DATE中运行MySQL REGEXP_SUBSTR以从文本中提取日期时出现问题

在STR_TO_DATE中运行MySQL REGEXP_SUBSTR以从文本中提取日期时出现问题
EN

Stack Overflow用户
提问于 2021-02-18 21:54:38
回答 2查看 65关注 0票数 0

在STR_TO_DATE中运行MySQL REGEXP_SUBSTR以从文本字段中提取日期时遇到问题。

If可以运行以下查询,并使用REGEXP_SUBSTR正确提取日期字符串。

代码语言:javascript
运行
复制
SELECT REGEXP_SUBSTR('12/9/97 - Ependymoma!', '[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,2}');
# '12/9/97'

如果我用STR_TO_DATE对日期字符串进行硬编码,就可以将日期字符串正确地转换为日期。

代码语言:javascript
运行
复制
SELECT STR_TO_DATE('12/9/97', '%m/%d/%y');
# '1997-12-09'

但是,如果我在STR_TO_DATE中调用REGEXP_SUBSTR,它将返回NULL。

代码语言:javascript
运行
复制
SELECT STR_TO_DATE(REGEXP_SUBSTR('12/9/97 - Ependymoma!', '[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,2}'), '%m/%d/%y');
# NULL

我一直在努力解决这个问题。任何方向都将不胜感激。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2021-02-20 03:34:28

感谢大家的帮助!一些评论者对我的代码没有问题,但我无法在我最近安装的MySQL版本中使用它。我必须完成这项工作,所以我切换到PostgreSQL,没有任何问题。

票数 1
EN

Stack Overflow用户

发布于 2021-02-19 01:43:10

尝试先在局部变量中选择日期

代码语言:javascript
运行
复制
SELECT @tmp := REGEXP_SUBSTR('12/9/97 - Ependymoma!', '[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,2}')
SELECT STR_TO_DATE(@tmp, '%m/%d/%y');

我也发布了一个answer,因为我不能让comment显示两行,所以它很混乱

顺便说一句:您最初的组合语句在10.4.8-MariaDB上运行良好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66261419

复制
相关文章

相似问题

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