Ich studiere SQL (mit MariaDB 10.2) und ich verwende eine riesige Beispieldatenbank, die ich online gefunden habe. Es hat eine "Mitarbeiter" -Tabelle, und diese hat eine "Geburtsdatum" -Spalte vom Typ "Datum". Ich möchte zum Beispiel alle Mitarbeiter auswählen, die älter als 50 Jahre sind, oder diejenigen, die an einem bestimmten Datum 25 Jahre alt sind. Gibt es eine Möglichkeit, so etwas zu tun?SQL nach Datum von heute auswählen
Antwort
Sie können interval
s zu date
s addieren oder subtrahieren:
SELECT *
FROM employee
WHERE birth_date <= NOW() - INTERVAL 50 YEAR
verwenden
SELECT * FROM myTable WHERE DATE(myDate) = DATE(NOW())
Diese für MySql DB ist
Wäre das nicht für alle Angestellten, die heute geboren werden (mit einem Alter von 0)? –
Ok @Roland Ich werde es versuchen. –
Unter der Annahme, T-SQL, dann für die über 50 heute verwenden:
select * from employees where datediff(year, birth_date, now()) > 50
Für diejenigen, die 25 zu einem bestimmten Zeitpunkt Gebrauch sein wird:
select * from employees where datediff(year, birthdate, certain_date) = 25
Für mich ergibt dies einen Fehler 'DATEDIFF' hat nur 2 Parameter in mysql/mariab: https://mariadb.com/kb/en/library/datediff/. Ich denke, Ihre Abfrage läuft gut in T-SQL :) –
Ja; Es tut mir leid, ich habe nicht angegeben, welche SQL. Ich meinte für t-sql für ms sqlserver. Für mysql würden Sie nicht den ersten Parameter ("Jahr") verwenden und Sie würden immer Ihre Antwort in Tagen bekommen, wenn ich richtig verstehe. – KCCole
können Sie INTERVAL Funktion verwenden, die Sie Daten addieren oder subtrahieren kann:
SELECT * FROM employee WHERE birth_date <= (NOW() - INTERVAL 50 YEAR);
- NOW() - ---> Present Datum
- -interval 50 YEAR -----> subtrahieren diesem Zeitpunkt 50 Jahre
- 1. VB.net, SQL 2012, Auswählen von Telefondaten mit Datum ist heute
- 2. MySQL Datum gleich heute auswählen
- 3. alle Datum auswählen, die heute weniger als
- 4. SQL Auswählen von Zeilen nach dem neuesten Datum
- 5. Anzahl nach Datum auswählen
- 6. Mongodb find erstellte Ergebnisse nach Datum heute
- 7. Einträge nach Datum auswählen -> = NOW(), MySQL
- 8. Oracle SQL Datum nicht später als heute
- 9. SQL-Abfrage konvertieren heute Datum in yyyymmdd
- 10. Ranging Datum gleich heute Datum
- 11. firebird 2.5 Datensätze auswählen mit Datum am nächsten zu heute
- 12. Nach Datum auswählen scheint nicht zu funktionieren
- 13. Yii2 nach maximalem Datum auswählen?
- 14. SQL wo Datum von heute Minus- und Plus-Tage
- 15. Wenn ein Datum heute ist
- 16. SQL-Abfrage heute
- 17. Ruby-Gem Calendar Datum auswählen
- 18. Hybris FlexibleSuche Heute Datum
- 19. Datum auswählen ZWISCHEN Datum mit Intervall
- 20. ORACLE 11g SQL-Datum Abfrage keine Daten für heute
- 21. Vergleichen Datum Zeit heute Datum gegen Datum erstellt
- 22. SQL Distinct Spalt auswählen und aktuelles Datum
- 23. sql auswählen und gruppieren nach CURRENT_TIMESTAMP
- 24. sql: Sortiert nach Datum
- 25. Tage von heute aus Zukunft Datum finden
- 26. wie ein bestimmtes Datum von heute vergleichen
- 27. PHP-Datum von heute bis 4 Monate
- 28. Anschlag vergangenes Datum Visibile von heute AngularJS
- 29. Berechnen nach X Tagen von heute
- 30. Oracle die neuesten Werte nach Datum auswählen
Dies ist der beste Ansatz. Es ist tagesgenau und die Abfrage kann einen Index verwenden. –