php - MySQL now() 间隔以毫秒为单位可能吗?

标签 php mysql mysqli

我试图只选择 500 毫秒以内的行,但我不确定仅使用 MySQL 是否可行?

我当前的代码是:

$stmt = $mysqli->prepare('SELECT chat_user, chat_msg FROM chat_msg 
                          WHERE chat_id = ? 
                          AND chat_time > (NOW() - INTERVAL 1 SECOND) 
                          AND chat_user != ?');

我无法将其插入代码块。

最佳答案

MySQL 的 DATE_SUB 函数(文档 here )接受 MICROSECOND 作为间隔类型之一,因此您可以减去 500 * 1000 微秒并将其转换为 时间戳,例如:

$stmt = $mysqli->prepare('SELECT chat_user, chat_msg FROM chat_msg 
                          WHERE chat_id = ? 
                          AND chat_time > (NOW() - INTERVAL 500000 MICROSECOND) 
                          AND chat_user != ?');

如果 chat_timeTimestamp 类型,您可以使用 TIMESTAMP(NOW() - INTERVAL 500000 MICROSECOND);UNIX_TIMESTAMP (NOW() - INTERVAL 500000 MICROSECOND);WHERE 条件下。

关于php - MySQL now() 间隔以毫秒为单位可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44474758/

相关文章:

php - 来自mysql的多维数组用于数据可视化

php - MySQL 查询不起作用

php - 在页面重新加载时保存 javascript 复选框状态?

php - 电影放映时间的数据库设计

php - 在数据库查询中添加假字段值

javascript - PHP 私有(private)聊天长轮询集成

php - 如何将 woocommerce 订单号更新到自定义 ACF 字段? (wordpress)

php - 如何在 codeigniter 日历的每个单元格中插入复选框

java - YYYY-MM-DD HH :MM:SS[. fraction]格式的MySQL更新日期字段

php - 无法使用 try-catch 处理 SQL 异常