我有一个包含参考时间和用户登记时间的表.这两种数据的类型不同.

样本数据

  • dtime=2023-06-02 08:23:21
  • work_time=08:00-18:00

我的密码是...

SELECT substring(dtime,-8,5) AS chkin, 
SUBSTRING(work_time, 1, 5) AS wt1, 
TIMESTAMPDIFF(MINUTE, substring(dtime,-8,5), SUBSTRING(work_time, 1, 5)) AS min_diff 
FROM ta_db 
WHERE id = 13181;

因此...

  • chkin=08:23
  • wt1=08:00

现在,我想知道chkin分钟和wt分钟和TIMESTAMPDIFF分钟有多少不同. 所以我做了这个...

TIMESTAMPDIFF(MINUTE, substring(dtime,-8,5), SUBSTRING(work_time, 1, 5)) AS min_diff 

但它返回NULL.请注意.

推荐答案

试试这个:

SET @dtime = '2023-06-02 08:28:21';
SET @work_time = '08:00-18:00';

SELECT substring(@dtime,-8,5) AS chkin, 
SUBSTRING(@work_time, 1, 5) AS wt1, 
TIMESTAMPDIFF(MINUTE, @dtime, CONCAT(SUBSTRING(@dtime, 1,10), ' ', SUBSTRING(@work_time, 1, 5))) AS min_diff

Mysql相关问答推荐

mysql查询汇总数据

MySQL查询获取图书的唯一读取页面数

SQL不断返回查询失败,并且不知道从这里到哪里go

约会时的意外行为

MySQL-如何检测时间戳中的一天

我是否需要在 N+1 列上建立索引,才能有效地在 N 列上执行 SELECT,并按其他列排序?

使用 SELECT 时应锁定多少行 .. FOR UPDATE LIMIT 1

MySQL函数 - 如何对select查询应用多个条件

使用索引进行查询优化

使用适配器设计模式和外观设计模式实现

为什么这个查询需要超过 5 秒才能运行?

如何创建一个判断行是否存在的mysql查询-如果存在我想插入一条新记录,否则增加一个值

MySQL中的会话客户端是什么

处理 Visits 表中数百万行的最佳方法是什么?

我将如何构建一个 SQL 查询来从交易表中 Select 第一次存款、第二次存款和额外存款

如何在 MySQL 中搜索多个列?

将 MySQL 查询的输出转换为 utf8

mysql 数据类型仅存储月份和年份

使用 mysqldriver 连接数据库时出错

在 MySQL 中存储 IPv6 地址