2017-06-02 1 views
0

Wie kann ich die Differenz von zwei Daten in Sql bis Integer Tagen abrunden. Runde Anweisung, funktioniert nicht genauWie wird die Differenz zweier Datumsangaben in sql zu ganzzahligen Tagen gerundet?

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] kann jemand helfen? kleiner Code/Befehl

geschätzt
+0

Was hat das mit Datenbanken zu tun? – Strawberry

+1

Möglicherweise müssen Sie es auf 1 Datenbankmarke eingrenzen, da die Dinge variieren können –

+0

Ist die Frage von mysql, sql-server und oracle zusammen markiert ?! Bitte geben Sie nur eine Datenbank an. – Alexander

Antwort

0

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

0

Sie TO_DAYS() MySQL-Funktion verwenden:

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

Um absolute Differenz Verwendung ABS() Funktion:

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