420 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
mysql> select RADIANS(90);
-> 1.570796
TRUNCATE(X,D)
Gibt die Zahl X zur¨uck, auf D Dezimalstellen beschnitten. Wenn D 0 ist, hat
das Ergebnis keinen Dezimalpunkt oder Bruchteil:
mysql> select TRUNCATE(1.223,1);
-> 1.2
mysql> select TRUNCATE(1.999,1);
-> 1.9
mysql> select TRUNCATE(1.999,0);
-> 1
Beachten Sie, dass Dezimalzahlen in Computern normalerweise nicht als ex-
akte Zahlen, sondern als Double-Werte gespeichert werden. Daher k¨onnen ver-
wirrende Ergebnisse wie im folgenden Beispiel auftreten:
mysql> select TRUNCATE(10.28*100,0);
-> 1027
Das Obige passiert, weil 10.28 tats¨achlich als etwas wie 10.2799999999999999
gespeichert wird.
7.3.4 Datums- und Zeit-Funktionen
Eine Beschreibung des Wertebereichs aller Typen und der g¨ultigen Formate f¨ur Datums-
und Zeitwerte finden Sie unter Abschnitt 7.2.2 [Date and time types], Seite 383.
Hier ist ein Beispiel, das Datums-Funktionen benutzt. Die unten stehende Anfrage w¨ahlt
alle Datens¨atze mit einem datum_spalte-Wert innerhalb der letzten 30 Tage aus:
mysql> SELECT etwas FROM tabelle
WHERE TO_DAYS(NOW()) - TO_DAYS(datum_spalte) <= 30;
DAYOFWEEK(datum)
Gibt den Wochentag-Index zur¨uck.
F¨ur datum gilt: 1 = Sonntag, 2 = Montag, ... 7 = Samstag). Diese Index-Werte
entsprechen dem ODBC-Standard:
mysql> select DAYOFWEEK(’1998-02-03’);
-> 3
WEEKDAY(datum)
Gibt den Wochentag-Index f¨ur datum zur¨uck (0 = Montag, 1 = Dienstag, ... 6
= Sonntag):
mysql> select WEEKDAY(’1997-10-04 22:23:00’);
-> 5
mysql> select WEEKDAY(’1997-11-05’);
-> 2
DAYOFMONTH(datum)
Gibt den Tag des Monats f¨ur datum im Bereich 1 bis 31 zur¨uck:
Komentarze do niniejszej Instrukcji