MySQL kann auch SELECT-
Kommandos verarbeiten, die keine Referenz auf Tabellen enthalten. So können Sie das DB-System beispielsweise als Taschenrechner-Ersatz verwenden und bekommen auf folgende Abfrage die Antwort "2"
zurückgeliefert.
SELECT 1+1;
Diese nette Eigenschaft wird so richtig praktisch, wenn spezielle Funktionen zum Einsatz kommen, etwa zur Manipulation von Datumswerten. Eine typische Frage, die ansonsten schwer zu beantworten ist: Welches Datum haben wir in 100 Tagen? MySQL gibt die Antwort ohne Probleme aus:
Als Wert hinter INTERVAL
lässt sich fast jede Zeiteinheit verwenden. Wer also wissen will, welcher Zeitpunkt 1000 Stunden vor dem nächsten Sylvester liegt, gibt ein:
Als Format fürs Datum verwenden Sie am besten die hier gezeigte amerikanische Variante, da man auf die Konversionen verzichten kann. Ob als Antwort nur der Tag oder ein Timestamp-Wert inklusive der Uhrzeit zurückgemeldet wird, hängt von der Genauigkeit des Bezugswertes und der Genauigkeit des Intervalls ab. Sobald eines der beiden Daten einen Stundenbezug enthält, liefert MySQL die Antwort inklusive Uhrzeit zurück. Eine der anderen praktischen Datumsfunktionen von MySQL ermittelt die Kalenderwoche eines Datums. Die KW des eines Tages erfahren Sie beispielsweise mit
SELECT 1+WEEK('2008-11-03',1);
Da für die Funktion WEEK()
die Zählung der Wochen mit 0 beginnt, wird zum Ergebnis eins addiert. Der zweite Parameter nach dem Datum sorgt dafür, dass der Montag als erster Tag der Wochen angesehen wird. Wird er weggelassen, verwendet MySQL die amerikanische Datumsarithmetik, bei der die Woche mit dem Sonntag beginnt.
(Martin Goldmann/Natascha Maslo/am)
datenbanken
Diskutiere in der Lounge
Entspanne in der codekicker Lounge und diskutiere über aktuelle Themen mit anderen codekicker-Usern!
databasepro berichtet alle zwei Monate praxisnah über die Themen, die professionelle Datenbank-Architekten, -Administratoren, Consultants, Anwender und IT-Manager, die sich mit der Auswahl von Technologien, Plattformen, Datenbanken und Entwicklungsumgebungen beschäftigen, Tag für Tag brauchen.