Golang SQL 封装jsonb算子
Golang SQL package jsonb operator
在 sql package for postgresql jsonb 我如何使用 @>
运算符进行字符串查询,例如
WHERE data @> '{"stringdata": }'
或
WHERE data @> '{"stringdata": ""}'
无效
备选方案是 data->>'string_data' =
,我不喜欢它用于多个语句
错误是:
"Message": "invalid input syntax for type json",
"Detail": "Token \"$\" is invalid.”,
"Where": "JSON data, line 1: $...",
"Routine": "report_invalid_token"
AFAIK,你不能在字符串内部插入,但你可以 build a JSON object 使用 json_build_object
或 json_object
:
SELECT data FROM test
WHERE data @> json_build_object('stringdata', ::text, 'foo', ::int)::jsonb;
这基本上等同于
SELECT data FROM test
WHERE data @> '{"stringdata":"","foo":}';
在 sql package for postgresql jsonb 我如何使用 @>
运算符进行字符串查询,例如
WHERE data @> '{"stringdata": }'
或WHERE data @> '{"stringdata": ""}'
无效
备选方案是 data->>'string_data' =
,我不喜欢它用于多个语句
错误是:
"Message": "invalid input syntax for type json",
"Detail": "Token \"$\" is invalid.”,
"Where": "JSON data, line 1: $...",
"Routine": "report_invalid_token"
AFAIK,你不能在字符串内部插入,但你可以 build a JSON object 使用 json_build_object
或 json_object
:
SELECT data FROM test
WHERE data @> json_build_object('stringdata', ::text, 'foo', ::int)::jsonb;
这基本上等同于
SELECT data FROM test
WHERE data @> '{"stringdata":"","foo":}';