Haben Sie den Code von jemandem aufgegriffen und dies ist Teil einer where-Klausel. Weiß jemand, was der Doppelpunkt anzeigt?
b.date_completed > a.dc::date + INTERVAL '1 DAY 7:20:00'
sql
postgresql
casting
Klopfen
quelle
quelle
Antworten:
Es variiert je nach RDBMS, aber wenn ich richtig denke, ist das PostgreSQL. In diesem Fall wird das in einen Datumstyp von
::
konvertiert .a.dc
date
In anderen Geschmacksrichtungen ...
In MS SQL Server 2000:
In MS SQL Server 2005:
Jedoch...
Ebenso gut wie...
Quellen: BOL und Kalen Delaneys Blog
quelle
In diesem Fall handelt es sich um eine Umwandlung in einen Datumstyp. :: ist eine Typumwandlung, die auch als CAST (Ausdruck AS-Typ) dargestellt werden kann.
quelle
INTERVAL
Unterstützung bieten . Dies ist der erste Code, den ich je gesehen habe und der beides kombiniert. Ich war nur neugierig. Danke für die Antwort.Es ist eine
CAST
Operation (in einen Datumstyp umgewandelt).Beispiel:
SELECT now()::timestamp(0);
Ist äquivalent zu:
SELECT CAST (now() AS timestamp(0));
Beide Ergebnis in Gießen
now()
auftimestamp
in folgendem Format:YYYY-MM-DD HH:MM:SS
quelle
select 1.2::integer
, das Ergebnis als ausgibt1
.Es ist wahrscheinlich eine Besetzung, die
a.dc
in Typ umgewandelt wirddate
.IBM Informix Dynamic Server (IDS) würde so funktionieren - aber die INTERVAL-Notation am Ende ist für IDS nicht gültig. Vermutlich handelt es sich also tatsächlich um ein anderes DBMS (wahrscheinlich PostgreSQL ).
quelle