php - mysql中如何比较时间

标签 php mysql sql

我在 mysql 中有一列时间数据类型。我想将时间与时间字符串进行比较,但不知道如何进行比较。例如,我想知道某个特定的时间大于 10:30:00。我怎样才能检查它?我有这个查询,但它没有显示任何结果,尽管数据可用。我做错了什么?

select PK, userID, lr.Date, lr.Time, Half, lr.InOut, Op_UserID, About
from loginrecord lr
where lr.Date Between '2017-05-17' AND '2017-05-17'
and lr.InOut = 1
and lr.Time > '10:30:00'

最佳答案

试试这个

select PK, userID, lr.Date, lr.Time, Half, lr.InOut, Op_UserID, About
from loginrecord lr
where lr.Date Between '2017-05-17' AND '2017-05-17'
and lr.InOut = 1
and lr.Time > CAST('10:30:00' AS time)

CAST() 函数将任何类型的值转换为具有指定类型的值。目标类型可以是以下任何一种类型:BINARY、CHAR、DATE、DATETIME、TIME、DECIMAL、SIGNED、UNSIGNED。

CAST()函数常用于返回指定类型的值,用于WHERE、JOIN、HAVING子句中的比较。

Reference

关于php - mysql中如何比较时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44021582/

相关文章:

php - 有没有办法只能获取两个日期之间的数据集?

mysql - 删除自增字段

sql - 在存储过程中存储并使用选择语句结果?

php - 在 PHP 和 MySQL 中使用循环进行多个更新查询

php - 如何通过 pageid 获取维基百科中特定页面的所有链接(id)

php - YouTube API v3 PHP 获取 channel 中的总观看次数

php - 如何将sql数据库导入azure for webapp?

php - 从 json 数组获取值并执行 sql 插入

mysql - 根据另一个表中 id 的重复次数从一个表中选择行

sql - 如何使用标准查询或使用 UDF 标记一行并将其特定值存储在 Hive 中?