![]() |
紧张的豌豆 · 遍历目录并展示文件md5值_weoken.的 ...· 1 年前 · |
![]() |
耍酷的墨镜 · vs2019未定义标识符gets-掘金· 1 年前 · |
![]() |
健壮的野马 · 快速傅里叶变换算法探幽 - sigma0 ...· 1 年前 · |
![]() |
英俊的哑铃 · Java枚举(enum)详解:Java声明枚 ...· 1 年前 · |
在STR_TO_DATE中运行MySQL REGEXP_SUBSTR以从文本字段中提取日期时遇到问题。
If可以运行以下查询,并使用REGEXP_SUBSTR正确提取日期字符串。
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对日期字符串进行硬编码,就可以将日期字符串正确地转换为日期。
SELECT STR_TO_DATE('12/9/97', '%m/%d/%y');
# '1997-12-09'
但是,如果我在STR_TO_DATE中调用REGEXP_SUBSTR,它将返回NULL。
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
我一直在努力解决这个问题。任何方向都将不胜感激。谢谢。
尝试先在局部变量中选择日期
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
上运行良好
感谢大家的帮助!一些评论者对我的代码没有问题,但我无法在我最近安装的MySQL版本中使用它。我必须完成这项工作,所以我切换到PostgreSQL,没有任何问题。
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券