blog.bartlweb - a technologist's external brain

Thema: SQL

Timestamp via SQL erhöhen

Werden veränderte Datensätze anhand einer Timestamp erkannt hilft es oft diese bei manuellen Eingriffen in die Datenbank um 1 zu erhöhen. Dies ändert für den Benutzer nicht viel, veranlasst das System allerdings die Änderung am Datensatz zu erkennen.

Der folgende SQL-Befehl ermöglich die Erhöhung eines Zahlen-Wertes:

UPDATE mytable SET tstamp=tstamp+1 WHERE uid = 5;

Datum über SQL formatiert ausgeben

Um über SQL ein Datum sofort als formatierten String retour zu bekommen muss, dass Datum entweder im SQL-Dateformat vorliegen oder als UNIX-Timestamp gespeichert sein.

SQL-Date

DATE_FORMAT(<field>, <dateformat>)

Beispiel

SELECT DATE_FORMAT(tstamp, '%Y') FROM table;

UNIX-Timestamp

FROM_UNIXTIME(<field>, <dateformat>)

Beispiel

SELECT FROM_UNIXTIME(tstamp, '%d.%m.%Y - %H:%i') FROM table WHERE FROM_UNIXTIME(tstamp, '%Y') = 2010;

komma-separierte Liste per SQL durchsuchen

Haben Sie sich auch schon immer gefragt wie man in einer SQL-Abfrage am Besten ermittelt ob ein Wert in einer durch Komma getrennten Liste zu finden ist? Die Antwort liegt im SQL-Befehl FIND_IN_SET().

FIND_IN_SET(value, field)

 

Beispiel:

Die Tabelle test enthält zwei Felder mit der Bezeichnung uid und listvalues wobei listvalues z.B. wie folgt aussieht: 1,12,33,124.

SELECT uid FROM test WHERE FIND_IN_SET('33', listvalues);