Come usare DATEDIFF? Quanti giorni sono all'interno di due date
Domanda
Come usare DATEDIFF? Come posso fare questo lavoro? o dovrei usare DATEDIFF completamente diverso?
SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110';
Io cerco di ottenere risposta, quanti giorni sono all'interno di due date.
Mi piacerebbe ottenere un risponderti come:
Durata = 7 giorni;
ho questo tipo di database:
introduttiva | will_end
2009-12-17 | 2009-12-24
2009-12-12 | 2009-12-26
Soluzione
will_end
mettere al primo posto, secondo started
:
SELECT DATEDIFF('2009-12-24', '2009-12-17')
---
7
Inoltre, rimuovere le singole citazioni da nomi dei campi:
SELECT DATEDIFF(will_end, started) AS Duration
FROM my_table
WHERE id = 110
, o sostituirli con gli apici inversi:
SELECT DATEDIFF(`will_end`, `started`) AS `Duration`
FROM `my_table`
WHERE `id` = 110
Altri suggerimenti
State ottenendo un risultato NULL
? Lei ha i nomi delle colonne di apici nella query, il che significa che si sta passando il 'Started '
stringhe e 'will_end'
a DATEDIFF
piuttosto che i valori della colonna. Provare a rimuovere le virgolette singole, e si inizierà a vedere alcuni risultati:
SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110';
Si noti che questo vi darà un risultato negativo. Per ottenere un risultato positivo, invertire l'ordine delle colonne:
SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110';
sostituire l'ordine
DATEDIFF ( 'will_end', 'Avviato')
Credo che ci siano 3 parametro da passare in DATEDIFF (datepart, startdate, enddate)
in modo che il codice sarebbe DATEDIFF (dd, 'Started', 'will_end')