如何将sql中两个日期的差异舍入到整数天?

问题描述:

如何将sql中两个日期的差异舍入到整数天。圆的声明,不完全工作如何将sql中两个日期的差异舍入到整数天?

a=15/02/2016; 
b=15/02/2016; 
round((a-b),0); /* output 1 */ 

a=15/02/2017; 
b=23/03/2017; 
round((a-b),0); /* output is +36 instead of it being -36 */ 

round((a-b),0,1); /*and when i used truncate statement like */ 

        /* it's throwing an error saying too many arguments*/ 

[1]任何人都可以帮忙吗?小码/命令认识

+0

这与数据库有什么关系? – Strawberry

+1

您可能需要将其缩小到1个数据库品牌,因为事情可能会有所不同 –

+0

是否将mysql,sql-server和oracle标记在一起的问题?请指定一个数据库。 – Alexander

SQL服务器:SELECT DATEDIFF(day,'2017-03-23','2017-02-15') AS DiffDate
返回-36

你可以使用MySQL的TO_DAYS()功能:

SET @a='2017/02/15'; 
SET @b='2017/03/23'; 
SELECT TO_DAYS(@a)-TO_DAYS(@b); 

要获得绝对差值使用ABS()功能:

SELECT ABS(TO_DAYS(@a)-TO_DAYS(@b));