Thread: BUG #14935: Cast function shortcut gives an error
The following bug has been logged on the website: Bug reference: 14935 Logged by: Jurica Železnjak Email address: jzelez@gmail.com PostgreSQL version: 10.1 Operating system: OS X Description: In some cases when using the shortcut notation "::" the database gives an error. GOOD: CAST("sensors_sensordata"."data" #>> '{Temperature}' AS DOUBLE PRECISION) AS "temp" ERROR: "sensors_sensordata"."data" #>> '{Temperature}'::DOUBLE PRECISION AS "temp" ERROR message: [22P02] ERROR: invalid input syntax for type double precision: "{Temperature}"
On Wed, Nov 29, 2017 at 10:27 AM, wrote:
> In some cases when using the shortcut notation "::" the database gives an
> error.
>
> GOOD:
> CAST("sensors_sensordata"."data" #>> '{Temperature}' AS DOUBLE PRECISION)
> AS
> "temp"
>
> ERROR:
> "sensors_sensordata"."data" #>> '{Temperature}'::DOUBLE PRECISION AS
> "temp"
>
The precedence between the two is different. The equivalent would be:
("sensors_sensordata"."data" #>> '{Temperature}')::DOUBLE PRECISION
In other words, not a bug.
.m
Ok. Thanks... I guess I should bring attention to this to the Django team where they use it without the parenthesis.
Jurica
> On Wednesday, Nov 29, 2017 at 10:52 AM, Marko Tiikkaja wrote:
> On Wed, Nov 29, 2017 at 10:27 AM, wrote:
> > In some cases when using the shortcut notation "::" the database gives an
> > error.
> >
> > GOOD:
> > CAST("sensors_sensordata"."data" #>> '{Temperature}' AS DOUBLE PRECISION) AS
> > "temp"
> >
> > ERROR:
> > "sensors_sensordata"."data" #>> '{Temperature}'::DOUBLE PRECISION AS
> > "temp"
>
> The precedence between the two is different. The equivalent would be:
>
> ("sensors_sensordata"."data" #>> '{Temperature}')::DOUBLE PRECISION
>
> In other words, not a bug.
>
>
> .m