gpt4 book ai didi

mysql - 提取在正则表达式中匹配并以空格为界的子字符串

转载 作者:行者123 更新时间:2023-11-29 23:46:35 27 4
gpt4 key购买 nike

尝试解析以各种方式和上下文输入的日期,这些日期可能出现在给定记录中,也可能不出现

我可以使用

选择候选行
SELECT * FROM table WHERE column REGEXP '[-|.|/][0-9][0-9][-|.|/]' ;

这确实会选择类似的记录

I was on top of mount Everest (2010-10-10)
i went to see the doctor on 13/12/10 and she told me I was in great shape.

其中第一条记录和第二条记录的匹配值分别为 -10- 和/12/。

现在,我想从列中提取日期。不仅仅是 -10- 或/12/,还有完整的日期片段 2010-10-10 或 13/12/10,即匹配的表达式向后扩展至空格或括号,并向前扩展至括号的空格。

抱歉,如果这是显而易见的 - 我不熟悉 REGEX。

最佳答案

您必须找到日期输入的模式。您可以在您的位置使用正则表达式,但您需要以某种方式隔离它。它总是 col 的最后一部分吗?

现在您已经隔离了位置,您可以进行案例样式选择

选择案例当在 1900 到 2200 之间时为右(日期,4)则为右(日期,10)#mm/dd/yyyy当 left(date,4) 在 1900 到 2200 之间时,则连接(left(right(date,5),2), "/", right(date,2))结束日期

那种磨难

编辑;;

SET @fieldName = "我在珠穆朗玛峰之巅 (2010-10-22)";

选择如果(STR_TO_DATE(康卡特( 右(SUBSTRING_INDEX(@fieldName,"-",1),4), "-",右(SUBSTRING_INDEX(@fieldName,"-",2),2), "-",左(SUBSTRING_INDEX(@fieldName,"-”,-1),2) ), '%Y-%m-%d' ) 为空,

“糟糕的约会”,

“美好的约会”)

但是现在对于糟糕的日期和好的日期,您可以继续链接该样式以循环遍历日期的所有变体...

尽管最好的解决方案是在输入时将该日期设置为特殊格式的差异列(如果可以的话)

关于mysql - 提取在正则表达式中匹配并以空格为界的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25900811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com