二个日期相减,该怎么处理
二个日期相减
VFP 9.0 + SQL
有个SQL表,上有二个字段:字段A,字段B,都是datetime型,且 字段B > 字段A
举例:
字段A 字段B
2013-05-06 16:05:38.000 2014-09-13 12:05:38.000
请问: 字段B,与字段A之间相差 ?月?天?小时?分?秒
不知道此命令如何写,请老师帮助,谢谢
------解决方案--------------------
如果是读到 VFP 后,得到临时表,然后再计算的话。
通过 gomonth() 判断月份或者B-A得出秒数,然后再换算成分、小时、天等。
如果是在 SQL 端计算, SQL 也有天、小时、秒、月、年等相加或相减的
select datediff(year, 开始日期,结束日期); --两日期间隔年
select datediff(quarter, 开始日期,结束日期); --两日期间隔季
select datediff(month, 开始日期,结束日期); --两日期间隔月
select datediff(day, 开始日期,结束日期); --两日期间隔天
select datediff(week, 开始日期,结束日期); --两日期间隔周
select datediff(hour, 开始日期,结束日期); --两日期间隔小时
select datediff(minute, 开始日期,结束日期); --两日期间隔分
select datediff(second, 开始日期,结束日期); --两日期间隔秒
VFP 9.0 + SQL
有个SQL表,上有二个字段:字段A,字段B,都是datetime型,且 字段B > 字段A
举例:
字段A 字段B
2013-05-06 16:05:38.000 2014-09-13 12:05:38.000
请问: 字段B,与字段A之间相差 ?月?天?小时?分?秒
不知道此命令如何写,请老师帮助,谢谢
------解决方案--------------------
如果是读到 VFP 后,得到临时表,然后再计算的话。
通过 gomonth() 判断月份或者B-A得出秒数,然后再换算成分、小时、天等。
如果是在 SQL 端计算, SQL 也有天、小时、秒、月、年等相加或相减的
select datediff(year, 开始日期,结束日期); --两日期间隔年
select datediff(quarter, 开始日期,结束日期); --两日期间隔季
select datediff(month, 开始日期,结束日期); --两日期间隔月
select datediff(day, 开始日期,结束日期); --两日期间隔天
select datediff(week, 开始日期,结束日期); --两日期间隔周
select datediff(hour, 开始日期,结束日期); --两日期间隔小时
select datediff(minute, 开始日期,结束日期); --两日期间隔分
select datediff(second, 开始日期,结束日期); --两日期间隔秒