对比
对比
-- MySQL / PostgreSQL 语义一致
SELECT doc->'$.status' AS as_json, -- '"paid"'
doc->>'$.status' AS as_text; -- 'paid'
-- 过滤:用 ->>
SELECT * FROM orders WHERE doc->>'$.status' = 'paid';| -> | 返回 JSON/JSONB 类型,适合继续套 JSON 函数、JSON_CONTAINS |
|---|---|
| ->> | 返回文本,适合 WHERE 比较、字符串函数、GROUP BY |
| MySQL 版本 | -> / ->> 自 5.7.13 起可用 |
PostgreSQL 里 jsonb 与 text 直接相等比较会报 operator does not exist,必须用 ->> 取文本。