mysql - MySQL中实现where条件varchar字段

标签 mysql sql datetime

我有使用表,其中包含如下所示的字段值

id | page_open_time

1, 28 May 2019 08:39:11
2, 12 July 2019 18:39:11
3, 22 December 2019 11:39:11
4, 23 June 2019 12:39:11

现在我想获取 page_open_time 大于 2019 年 7 月 1 日的所有记录。为此,我在下面编写了这个查询,但没有帮助。有什么办法,我可以执行此操作吗?

 SELECT * FROM `usages` where page_open_time > '2019-07-01'

最佳答案

您的日期不是有效的 MySQL DATETIME 格式,因此您需要在比较之前使用 STR_TO_DATE 对其进行转换。 :

SELECT *
FROM usages
WHERE STR_TO_DATE(page_open_time, '%d %M %Y %H:%i:%s') > '2019-07-01'

输出

id  page_open_time
2   12 July 2019 18:39:11
3   22 December 2019 11:39:11

Demo on dbfiddle

关于mysql - MySQL中实现where条件varchar字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59500467/

相关文章:

c# - 使用 MySqlDataAdapter/MySqlCommandBuilder 强制 autoinc 字段

php - 如何选择字段的默认值

mysql - MySQL 表的交错行

mysql - 如何在关系数据库中存储不同版本的数据?

java - 使用小时调整而不是语言环境来打印DateTime的最简单方法是什么?

mysql - 获取最后插入的行mysql

PHP while函数与mysql查询

mysql - 获取子查询返回的行数以及子查询返回的列数

Flutter - 如何获取数据变量的 DateFormat 并更改时区

Django 时区逻辑和 urls.py 中的通用 View 引发错误,但是 View 、字段还是我?