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