- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 MySQL 5.7,我想知道 PostgreSQL 等价物
SELECT * FROM user_conversations WHERE JSON_CONTAINS(users, JSON_ARRAY(1))
JSON_CONTAINS(users, JSON_ARRAY(1))
怎么写在 PostgreSQL 中
编辑 1
这是我的 json,它只是一个没有子对象的数组:
[
"john",
"doe",
"does"
]
例如我想得到“doe”
编辑 2
我的 table :
Column | Type | Modifiers | Storage | Statistics Target | Description
------------+--------------------------------+-------------------------------------------------------+----------+-----------------------+-------------
id | uuid | non NULL | plain | |
name | character varying(255) | non NULL | extended | |
image | character varying(255) | non NULL Par défaut, 'default.png'::character varying | extended | |
users | json | non NULL | extended | |
type | integer | non NULL | plain | |
emoji_id | integer | non NULL Par défaut, 0 | plain | |
created_at | timestamp(0) without time zone | | plain | |
updated_at | timestamp(0) without time zone |
编辑 3: 我使用 laravel 来执行查询:
DB::table('user_conversations')->whereRaw('JSON_CONTAINS(users, JSON_ARRAY(1))')->orderBy('created_at', 'desc')->paginate(5);
它与 mysql 一起工作。
最佳答案
您引用的 MySQL 的 JSON_CONTAINS()
的两个参数形式的签名为 JSON_CONTAINS(json_doc, val)
这听起来类似于 PostgreSQL JSON operator @>
运算符(operator)
-- returns true
SELECT '["john","bob","doe","dylan","mike","does"]'::jsonb @>
'["john","doe","does"]';
-- returns false
SELECT '["john","bob","doe","dylan","mike","does"]'::jsonb @>
'["john","mary"]';
如果你的类型是 json,那没问题,只需将它转换为 jsonb
;
SELECT *
FROM user_conversations
WHERE users::jsonb @> json_text;
关于mysql - postgresql 中的 JSON_CONTAINS(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41248082/
目前使用 MYSQL 5.7,即将迁移到 8.0。 我们的数据库中有一个 json 字段,其值如下所示: [ { "first_name":"bob", "last_name"
我有一个包含 json 列的表,我在其中存储了契约(Contract)类型的 ID 列表。我想在 contract_types 表上进行联接,以便我可以获得契约(Contract)类型名称的串联列表及
我有这个代码: (SELECT COUNT(streams.id) FROM streams WHERE JSON_CONTAINS(streams.server, '[\"servers.id"\"
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我有一个像 这样的 json 数组 { "response":[ { "Rate Lock":"Yes", "Loan Amount":"1
我正在使用以下查询来搜索名为“JavaScript”的 json 值 当我运行查询时,我得到 0 个结果 这是我正在使用的插入命令 INSERT INTO admin_acc_mngmt_notes
我希望能够使用 json_contains 不区分大小写地“搜索” 这是 json 示例: [ { "title": "foo Bar", "author": "melaine"
使用 MySQL 5.7,我想知道 PostgreSQL 等价物 SELECT * FROM user_conversations WHERE JSON_CONTAINS(users, JSON_AR
在 MySQL 中,我使用 PHP 的 json_encode 将数据存储在“jsonValues”字段中: {"product_category":[[{"category":["28"]},{"p
我正在尝试选择 json 列中的 roles 属性包含任何值的所有列。 我试过的语句: SELECT * FROM components WHERE json->'$.roles' IN(1) 这甚至
我在 MySQL 数据库中有一个 JSON 字段,其中包含类似 [1,3,4,7] 的值。我希望能够轻松地从 PHP 变量提供另一个数组并确定是否存在任何重叠。我知道这个例子不起作用,但这是我想要做的
我有一个具有以下结构的表: select * from test_table; id |load_balancer_name |listener_descriptions
在我的 MySQL 数据库 (8.0.23) 上,我有一个 JSON 列是 multi value indexed .我想使用 QueryDSL 通过 JSON_CONTAINS 使用索引进行查询。我
我正在使用 MySQL 8 的新 JSON 功能,特别是多值索引。 我注意到有两种方法可以检查 JSON 数组是否包含给定值:MEMBER OF() 运算符和 JSON_CONTAINS() 函数。
我想要一个查询来返回表 minto_regsix_session 中所有条目的所有字段,这些条目在 'day' 字段中包含 2 的值。以下是表的 phpMyAdmin 的屏幕截图,包括包含 JSON
我有下表,其中在 JSON 整数数组上设置了多值索引: CREATE TABLE test ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, catIds
通过使用 (1) 我从 laravel 请求中获得了想要的结果。但是,一旦我将硬编码的“fish”切换为 $str = 'fish' 这样的变量,就会出现语法错误。 (1) $find = anima
我正在尝试运行以下程序: $driverID = 123; $query = 'SELECT * FROM cars WHERE JSON_CONTAINS(`data`, \'{"drivers":
因此,我在表格的一列中列出了“白名单”国家(例如 ['PT', 'US', 'UK', 'ES']),并且我想检查用户的国家(例如“美国”)是否在白名单中,以便向用户显示该行的内容。 我进行了搜索,发
我在查找带有参数为 JSON 格式的 where 子句的记录时遇到一些问题。例如,JSON 列的值类似于 ["1","2","3"]。当我运行 where JSON_CONTAINS(tags, '[
我是一名优秀的程序员,十分优秀!