SQL Schnipsel
Filterungen
Kommaseparierte Liste filtern
SELECT * FROM mytable WHERE FIND_IN_SET('.intval($pk).',columnwithpks)
Bedingungen
Bedingung im select
SELECT IF (t.price > 0, p.price + t.price, p.price + d.baseprice) AS price FROM mytable
Konvertierung
Integer-Konvertierung
/*
* INTEGER-Konvertierung
* um einen Integer aus einem String zu bekommen gibt es zwar eigentlich
* eine CAST(wert AS type) Funktion, diese schlägt aber fehl.
* Um einen Integer aus einem String erhalten einfach eine mathematische
* Operation mit dem String ausführen (+0 oder *1)
*/
REPLACE(REPLACE(REPLACE(price,'.',''),',',''),'-','')+0
Hilfsfunktionen
Letzte ID, die eingefügt wurde
SELECT LAST_INSERT_ID() AS last_insert_id;
TYPO3-Funktion für last_insert_id
/**
* TYPO3 MySQL Function for getting the last Insert ID
*/
public function getLastMySQLInsertId() {
$res = $GLOBALS['TYPO3_DB']->sql_query('SELECT LAST_INSERT_ID() AS last_insert_id;');
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
return $row['last_insert_id'];
}
Ersetzungen
REPLACE
UPDATE trip_types SET picture = REPLACE(picture, "/fileadmin", "fileadmin")
REPLACE INTO
erstellt immer einen neuen Index und ersetzt oder erstellt einen Insert, je nachdem ob die primary keys schon vorhanden sind
REPLACE INTO tbl SET name="" []
Wiki-Datei des Artikels herunterladen