Re: BUG #16636: Upper case issue in JSONB type
От | David G. Johnston |
---|---|
Тема | Re: BUG #16636: Upper case issue in JSONB type |
Дата | |
Msg-id | CAKFQuwYmVP+N=Xn9_Z_PUokFPy3JbZTY_TWDtKt5ieqLTFZCdA@mail.gmail.com обсуждение исходный текст |
Ответ на | BUG #16636: Upper case issue in JSONB type (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #16636: Upper case issue in JSONB type
|
Список | pgsql-bugs |
On Fri, Sep 25, 2020 at 8:13 AM PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 16636
Logged by: ChandraKumar Ovanan
Email address: osaimar19@gmail.com
PostgreSQL version: 11.0
Operating system: Windows 10
Description:
Hi All,
Below example which I was execute query in postgres.
The problem statement here, when I use upper case function by converting
JSONB object has Null value,
Then I getting below error.
Please could fix it defect or why this behavior on postures,required
clarification
Error message:
SQL Error [22P02]: ERROR: invalid input syntax for type json
Detail: Token "NULL" is invalid.
Where: JSON data, line 1: ...E": "2018-01-10", "NAME": "TEST3"}, {"DATE":
NULL...
CREATE TABLE logs(id serial, data JSONB);
INSERT INTO logs VALUES
(1,
'[{"name":"test1","date":"2020-11-11"},{"name":"test2","date":"2018-01-10"}]'),
(2,
'[{"name":"test3","date":"2020-05-18"},{"name":"test4","date":"null"}]');
SELECT * FROM logs WHERE data @> '[{"date":null}]';
SELECT * FROM logs WHERE upper(data::text)::jsonb @>
upper('[{"date":"2018-01-10"}]')::jsonb ; --Not working
The error and the example queries don't seem to match...
When you upper('{"date":null}'::text) you get the literal text: {"date":NULL}, which is not valid json; a JSON null "value" must be written in lowercase. You would find the same problem had you chosen a boolean field and written true/false as documented on the json data type page [1], Table 8.23, and the json standard [2]
David J.
В списке pgsql-bugs по дате отправления: