to_number ejemplo cast sql postgresql casting

ejemplo - Doble nota de dos puntos(::) en SQL



postgresql cast string to integer (3)

En este caso, es un lanzamiento a un tipo de fecha. :: es un tipo de conversión que también se puede representar como CAST (expresión AS tipo).

¿Han recogido el código de alguien y esto es parte de una cláusula where, alguien sabe lo que indica el doble del colon?

b.date_completed > a.dc::date + INTERVAL ''1 DAY 7:20:00''


Probablemente sea un elenco, convirtiendo a.dc en date tipo.

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 ).


Varía en base a RDBMS, pero si lo creo correcto, eso es PostgreSQL, en cuyo caso :: convierte a.dc a un tipo de date de date .

En otros sabores ...

En MS SQL Server 2000:

Para las funciones integradas definidas por el usuario que devuelven una tabla, el nombre de la función debe especificarse con un doble punto (:) para distinguirlo de las funciones definidas por el usuario que no están incorporadas. También se debe especificar como un nombre de una parte sin calificaciones de base de datos o propietario. Por ejemplo: SELECT * FROM :: fn_helpcollations () b .. Para las funciones integradas definidas por el usuario que devuelven un valor escalar, el nombre de la función debe especificarse como un nombre de una parte (no especifique la base de datos o el propietario). No especifique un doble doble inicial (: :).

En MS SQL Server 2005:

Ya no se requieren dobles puntos para las UDF que devuelven una tabla.

Sin embargo...

Se requieren dos puntos en SQL Server 2005 al otorgar permisos en esquemas, certificados, puntos finales y algunos otros elementos asegurables.

Tanto como...

Cuando se usan tipos definidos por el usuario, los métodos estáticos del tipo deben llamarse usando la sintaxis de dos puntos.

Fuentes: BOL y Kalen Delaney''s Blog