SQL Academy
Premium
Funktionsreferenz

::

SQL-Konstrukt
Entsprechung in MySQL:

Wandelt einen Wert in den angegebenen Typ um: eine Kurzform von CAST(value AS type), die es nur in PostgreSQL gibt.

PostgreSQL 17.5
value::type

Parameter

value
Umzuwandelnder Wert
typeDatentyp
Zieldatentyp, zum Beispiel integer, numeric, date oder text

Rückgabewert

Wert des angegebenen Typs; eine fehlgeschlagene Umwandlung ist ein Abfragefehler

Beispiele

Strings in eine Zahl und ein Datum, ein Bruch in eine ganze Zahl

PostgreSQL 17.5
SELECT '42'::integer + 1 AS number,
	'2024-03-08'::date AS DAY,
	3.7::integer AS rounded;
numberdayrounded
432024-03-084

Datum und Text aus Spalten

PostgreSQL 17.5
SELECT member_name,
	birthday::date AS birth_date,
	member_id::text AS id_text
FROM FamilyMembers;
member_namebirth_dateid_text
Headley Quincey1960-05-131
Flavia Quincey1963-02-162
Andie Quincey1983-06-053
Lela Quincey1985-06-074
Annie Quincey1988-04-105
Ernest Forrest1961-09-116
Constance Forrest1968-09-067
Wednesday Addams2005-01-138

Ganzzahlige und exakte Division

PostgreSQL 17.5
SELECT 10 / 4 AS integer_division,
	10::numeric / 4 AS exact_division;
integer_divisionexact_division
22.5000000000000000

Details

value::type macht dasselbe wie CAST(value AS type) und folgt denselben Regeln: Zum Beispiel führt '3.7'::integer zu einem Fehler, während 3.7::integer auf 4 gerundet wird.

Der Operator :: wird vor der Arithmetik angewendet: In 10::numeric / 4 wird nur 10 in numeric umgewandelt, und die Division wird exakt. Um einen ganzen Ausdruck umzuwandeln, setzt du ihn in Klammern: (amount * unit_price)::text.

Siehe auch

Wo du es lernst