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

È stato utile?

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')

http://msdn.microsoft.com/en-us/library /ms189794.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top