mysql - 时差返回 NULL

标签 mysql time

我正在尝试从我的数据库中获取契约(Contract)到期的时间。我现在有这个查询,但我似乎无法弄清楚为什么 to_expire 字段得到 NULL。查询运行良好,并生成除计算的时间差之外的预期结果。 cs_start 和 cs_end 是日期字段

  SELECT cs_start, cs_end, cs_status, 
 TIMEDIFF(date(now()),  cs_start) as to_expire,
 GROUP_CONCAT(is_name SEPARATOR '<br /> ') as partners 
  FROM `contracttoinstitute` 
  JOIN `institutes`
    ON is_id = ctt_institute_id
  JOIN `contracts` 
    on ctt_contract_id  = cs_id
 WHERE ctt_contract_id 
    IN (
      select ctt_contract_id 
        from `contracttoinstitute`
       where ctt_institute_id = 1 
       )
   AND ctt_institute_id <> 1 
  GROUP BY ctt_contract_id
  ORDER BY cs_id DESC

输出:

 cs_start cs_end cs_status to_expire partners 
2013-11-06  2014-01-01  signed  NULL    KATHOLIEKE HOG   
...

正如希望获得一些值(value)。不确定应该给出什么 timediff;我第一次尝试使用它。 (我正在寻找一个排序依据的值,以确定契约(Contract)是否即将失效)

最佳答案

尝试使用datediff()。您超出了 timediff() 的范围,并且似乎仍然需要几天:

  SELECT cs_start, cs_end, cs_status, 
         datediff(date(now()),  cs_start) as to_expire,
         GROUP_CONCAT(is_name SEPARATOR '<br /> ') as partners 

关于mysql - 时差返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21076498/

相关文章:

java - Base64解码,使用UTF-8、UTF-16输出不正确

PHP 代码以 html 形式呈现查询结果,并向作为 url 的文本添加超链接

php - 在 PHP 中使用 api 时出现 SQL 语法错误

r - 如何在r中转换为unix时间?

java - getMinutes、getHour 和 getSeconds 被删除了吗?

mysql - mysql 字符集和 GWT 的问题

mysql - 如何从表中删除所有重复项?

php - 计算 php 所用时间 - 跨度超过 24 小时

javascript - 在javascript中比较时间

time - 如何以毫秒获取当前时间