gpt4 book ai didi

mysql - 如何在 MySQL 中提取部分 Base64 编码的字符串?

转载 作者:可可西里 更新时间:2023-11-01 06:45:32 24 4
gpt4 key购买 nike

我的数据库中有一个编码字段。在字段上使用 from_base64 后,它看起来像这样:

<string>//<string>//<string>/2017//06//21//<string>//file.txt

路径的开头可能有不确定数量的字符串,但是,日期 (YYYY//MM//DD) 将始终在右侧有两个字段(一个字符串后跟文件扩展名)。

我想按此 YYYY//MM//DD 模式排序,并计算具有此日期的所有路径。

所以基本上我想这样做:

select '<YYYY//MM//DD portion of decoded_path>', count(*) from table group by '<YYYY//MM//DD portion of decoded_path>' order by '<YYYY//MM//DD portion of decoded_path>';

最佳答案

总结

MySQL 的 SUBSTRING_INDEX如果指定了负计数值,则通过查找指定的定界符并从末尾倒数来执行此操作很有用。

演示

Rextester 演示:http://rextester.com/TCJ65469

SQL

SELECT datepart, 
COUNT(*) AS occurrences
FROM
(SELECT CONCAT(
LEFT(SUBSTRING_INDEX(txt, '//', -5), INSTR(SUBSTRING_INDEX(txt, '//', -5), '//') - 1),
'/',
LEFT(SUBSTRING_INDEX(txt, '//', -4), INSTR(SUBSTRING_INDEX(txt, '//', -4), '//') - 1),
'/',
LEFT(SUBSTRING_INDEX(txt, '//', -3), INSTR(SUBSTRING_INDEX(txt, '//', -3), '//') - 1))
AS datepart
FROM tbl) subq
GROUP BY datepart
ORDER BY datepart;

假设

现在假设问题中给出的示例中年份之前的单斜杠是错字,应该是双斜杠。 (如果事实并非如此,我会更新我的答案。)

关于mysql - 如何在 MySQL 中提取部分 Base64 编码的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44686852/

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