2017-02-03 2 views
0

Ich möchte die Anzahl der Tage zwischen heute und ausgewähltem Datum finden. habe ich eine AbfrageFinden Sie die Anzahl der Tage zwischen heute und einem bestimmten Datum?

SELECT DATEDIFF(CURDATE(), TILLDATE) FROM interestpr_table WHERE GLID="150"; 

Aber es gibt als Ergebnis NULL. Wie repariert man?

+1

Sie vergessen haben, 'von table_name' – denny

+0

, weil Sie nicht angeben, nicht der Tabellenname, aus dem Sie Daten extrahieren möchten –

+0

Sind GLID und TILLDATE in einer Tabelle? Ich sehe nicht, eine FROM-Anweisung in der Abfrage ... –

Antwort

2

Da Ihre TILLDATE im Format YYYY-MM-DD ist, müssen Sie es in YYYYMMDD Format ändern, so dass DATEDIFF würde es als gültiges Format akzeptieren.

SQLFIDDLE

Für Ihr Datum Format zu konvertieren, die DATEDIFF akzeptieren, können Sie DATE_FORMAT wie folgt verwenden:

SELECT DATEDIFF(curdate(),DATE_FORMAT(TILLDATE,'%Y%m%d')) // '%Y%m%d'converts it into YYYYMMDD format 

SQLFIDDLE for conversion

+0

Mein TILLDATE in der Datenbank, So wie kann ich in das gleiche Format wie du erwähnt konvertieren (JJJJ-MM-TT bis JJJJMMTT) – Ajith

+0

aktualisierte Antwort! !! –

Verwandte Themen