2017-07-07 1 views
1

Ich benutze MySQL und ich möchte alle Daten in der vergangenen Woche aus einer Spalte, sagen xyz, die vom Typ Datum ist und das Format YYYY-MM-DD hat. Wenn ich jedochWie konvertiert man von einem Datumsformat zu einem anderen in Mysql

select 
    * 
from 
    tablename 
where 
    xyz > date_sub(curdate(),INTERVAL 1 week); 

verwende, erhalte ich Daten, die nicht innerhalb der letzten 1 Woche sind. Ich bekomme Daten, die in einem Monat liegen und einige zufällige Daten.

+0

Es ist schwer, eine solche Frage ohne ein Beispiel Ihrer Daten und des Tabellenschemas gut zu beantworten. – Jacobm001

Antwort

0

Sie Abfrage zieht alle Datensätze, in denen xyz (Ihre Datumsspalte ich nehme an) ist neuer als vor einer Woche. Dies könnte in der Tat zukünftige Aufzeichnungen sein. Wenn Sie ausschließlich Dinge der letzten Woche anzeigen möchten, müssen Sie das Schlüsselwort between verwenden.

select 
    * 
from 
    tablename 
where 
    xyz between date_sub(curdate(), INTERVAL 1 week) and curdate() 
Verwandte Themen