2017-06-02 3 views
0

Comment est-ce que je peux arrondir la différence de deux dates en sql aux jours entiers. Round déclaration, ne fonctionne pas exactementComment arrondir la différence de deux dates en sql à des jours entiers?

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] Quelqu'un peut-il aider? petit code/commande est apprécié

+0

Qu'est-ce que cela a à voir avec les bases de données? – Strawberry

+1

Vous devrez peut-être réduire à 1 marque de base de données que les choses peuvent varier –

+0

La question est-elle étiquetée par mysql, sql-server et oracle ensemble ?! Spécifiez une base de données uniquement, s'il vous plaît. – Alexander

Répondre

0

SQL Server: SELECT DATEDIFF(day,'2017-03-23','2017-02-15') AS DiffDate
Retours -36

0

Vous pouvez utiliser TO_DAYS() fonction MySQL:

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

Pour obtenir, utilisez la fonction différence absolue ABS():

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