mysql 中,计算2个datetime类型的字段,相减得到的分钟数

一个计费程序
stime 是datetime类型的字段
问题1:我用now()-stime得到的数字好像不是秒,这个数字是什么单位?
问题2:如何得到now()与stime相差的时间(单位:分钟)

now()-stime 得到的是minute * 100,这个数值的与分钟的单位换算是100=1分钟,超过60分钟这个数值无效。

得到时间差:
select (unix_timestamp(now())-unix_timestamp(stime))/60 from table_name where whew_condition;

mysql> select * from timeminus;
+----+---------------------+
| id | stime |
+----+---------------------+
| 1 | 2011-09-21 09:30:00 |
| 2 | 2011-09-21 11:30:00 |
| 3 | 2011-09-20 00:00:00 |
+----+---------------------+
3 rows in set (0.02 sec)

# 计算id=1与id=2的时间差(分钟)
mysql> select (unix_timestamp(a.stime)-unix_timestamp(b.stime))/60 from (select
* from timeminus where id=2) a inner join (select * from timeminus where id=1) b
;
+------------------------------------------------------+
| (unix_timestamp(a.stime)-unix_timestamp(b.stime))/60 |
+------------------------------------------------------+
| 120.0000 |
+------------------------------------------------------+
1 row in set (0.00 sec)
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-26
sql server : datediff(“mi”,stime,getdate())
mysql: datediff(stime,now()) 得到的是“天数”的差值;
unix_timestamp(stime),就能得到秒数的差值了, (返回值:自'1970-01-01 00:00:00'的到stime的秒数差)本回答被网友采纳
第2个回答  2011-10-03
下载好后,双击安装就可以。
可以升级任意 SQL Server 2008 版本。Service Pack 2 包含 SQL Server 实用工具和数据层应用程序 (DAC) 的更新,还包含关于 Microsoft Reporting Services 与 Microsoft SharePoint 2010 Technologies 的集成功能的更新。Service Pack 2 引入了对数据库中最多 15,000 个分区的支持,并且包括 SQL Server 2008 SP1 累积更新 1 到 8。
Microsoft SQL Server 2008 Service Pack 1 不是安装 SQL Server 2008 Service Pack 2 的先决条件。(就是说,没有安装过Service Pack 1,也可以直接安装Service Pack 2)本回答被提问者采纳
第3个回答  2011-09-20
阿斯
相似回答