Re: Getting json-value as varchar

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Andreas Joseph Krogh <andreas(at)visena(dot)com>
Cc: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Getting json-value as varchar
Date: 2022-01-06 13:42:21
Message-ID: CAFj8pRCkbeCO81R9yRQAKzZQb55UjfEa0aUH81RCAfT0_b49OA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi

čt 6. 1. 2022 v 14:33 odesílatel Andreas Joseph Krogh <andreas(at)visena(dot)com>
napsal:

> På torsdag 06. januar 2022 kl. 14:29:12, skrev David G. Johnston <
> david(dot)g(dot)johnston(at)gmail(dot)com>:
>
> [..]
> The fact is that the ‘ - - > ‘ operator gives you the needed output.
>
> David J.
>
>
> Yeah, I think that's the correct answer for this use-case.
>

It is true that some other casting function is missing. I am not sure if
this is part of ANSI/SQL json support.

Now, you can use helper function

CREATE OR REPLACE FUNCTION public.to_text(jsonb)
RETURNS text
LANGUAGE sql
AS $function$
select jsonb_array_element_text($1, 0)
$function$

postgres=# select to_text((jsonb '{"a":"Ahoj"}')['a']);
┌─────────┐
│ to_text │
╞═════════╡
│ Ahoj │
└─────────┘
(1 row)

Regards

Pavel

>
> --
> *Andreas Joseph Krogh*
> CTO / Partner - Visena AS
> Mobile: +47 909 56 963
> andreas(at)visena(dot)com
> www.visena.com
> <https://www.visena.com>
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Joseph Krogh 2022-01-06 13:48:09 Re: Getting json-value as varchar
Previous Message Andreas Joseph Krogh 2022-01-06 13:33:31 Re: Getting json-value as varchar