如何在MySQL中用substring_index提取分号分隔文本的倒数第二个日期
提取分号分隔文本中的倒数第二个日期
解决方案(MySQL)
使用嵌套的SUBSTRING_INDEX函数结合TRIM处理末尾分号,表达式如下:
SELECT SUBSTRING_INDEX( SUBSTRING_INDEX(TRIM(TRAILING ';' FROM your_text_column), ';', -2), ';', 1 ) AS second_last_date;
分步解释
- 清理末尾分号
TRIM(TRAILING ';' FROM your_text_column)移除文本末尾多余的分号,确保最后一个元素是有效日期,避免空值干扰。 - 提取最后两个元素
SUBSTRING_INDEX(..., ';', -2)从清理后的文本中,提取最右侧的两个分号分隔元素。 - 提取倒数第二个日期
SUBSTRING_INDEX(..., ';', 1)从上述结果中提取第一个元素,即为目标的倒数第二个日期。
示例验证
示例1输入:
2022-07-01 00:00:00;2022-10-01 00:00:00;2023-01-01 00:00:00;2023-04-01 00:00:00;
处理后输出:2023-01-01 00:00:00
示例2输入:
2022-07-01 00:00:00;2022-10-01 00:00:00;2023-01-01 00:00:00;2023-04-01 00:00:00;2024-04-01 00:00:00;
处理后输出:2023-04-01 00:00:00
内容的提问来源于stack exchange,提问作者Karim Ali
相关产品推荐
相关产品推荐

