【发布时间】:2026-02-22 06:20:03
【问题描述】:
这是我的第一个问题,感谢您的支持。
我有一个包含许多列的旧数据库,但它不是 DATE 列。是的,我的错。
但是,我有一个名为 question_id 的列,其中包含一些数据,其中包含日期和时间,例如
2017113020440370769
其中前 4 位是 YYYY,接下来的 2 位是 MM,接下来的 2 位是 DD。
我正在尝试提取这些字符来计算我在特定日期有多少问题。
我可以,在特定日期这样做:
SELECT COUNT(*)
FROM questions
WHERE question_id LIKE '20171228%';
但我想每天为 TODAY 自动执行此操作,而不是每天输入 YYYYMMDD%
有可能吗?使用 CURDATE?或者我可以使用任何特定的 TIMESTAMP?
非常感谢!
【问题讨论】:
-
使用正则表达式提取日期,然后将其作为结果集的一部分进行分组。我实际上建议添加一个日期字段,更新应用程序以设置它(MySQL 没有自动设置时间戳的功能吗?)然后更新现有的空时间戳一次。但真正做到这一点应该在小桌子上完成。如果没有架构和示例数据,我无法将其转化为答案。