He recogido el código de alguien y esto es parte de una cláusula where, ¿alguien sabe lo que indican los dos puntos dobles?
b.date_completed > a.dc::date + INTERVAL '1 DAY 7:20:00'
sql
postgresql
casting
Palmadita
fuente
fuente
Respuestas:
Varía según el RDBMS, pero si supongo que es correcto, es PostgreSQL, en cuyo caso se
::
conviertea.dc
a un tipo de fechadate
.En otros sabores ...
En MS SQL Server 2000:
En MS SQL Server 2005:
Sin embargo...
Tanto como...
Fuentes: Blog de BOL y Kalen Delaney
fuente
En este caso, es una conversión a un tipo de fecha. :: es un tipo de conversión que también se puede representar como CAST (expresión AS tipo).
fuente
INTERVAL
soporte. Este es el primer fragmento de código que he visto que combina ambos. Solo tenía curiosidad. Gracias por la respuesta.Es una
CAST
operación (convertida a un tipo de fecha).Ejemplo:
SELECT now()::timestamp(0);
Es equivalente a:
SELECT CAST (now() AS timestamp(0));
Ambos resultado en la fundición
now()
atimestamp
en el siguiente formato:YYYY-MM-DD HH:MM:SS
fuente
select 1.2::integer
que generará el resultado como1
.Probablemente sea un elenco, convirtiéndose
a.dc
en tipografíadate
.IBM Informix Dynamic Server (IDS) funcionaría de esa manera, pero la notación INTERVAL al final no es válida para IDS, por lo que presumiblemente se trata de otro DBMS (probablemente PostgreSQL ).
fuente