【发布时间】:2019-06-20 03:53:21
【问题描述】:
我正在编写一个带有基于字段内字符串的过滤器的查询。但是,我正在运行查询,它显示错误:
LIKE 表达式的左侧必须计算为 varchar
我想通过custom_field 购买宝马的每个人进行过滤。
这是自定义字段内的示例数据:
{ "car_model;":"BMWZ4", "car_id":"0980291", "manufacture":"bmw" }
代码:
SELECT
first_name,
Last_name,
country,
custom_field
FROM
sales_table
WHERE
custom_field LIKE '%BMWZ4%'
预期结果
first_name: John
last_name: Parker
country: Germany
custom_field: {"car_model;":"BMWZ4","car_id":"098222291","brand":"bmw"}
【问题讨论】:
-
你的
custom_field是什么类型的? -
字段类型为varchar
-
什么数据库系统,哪个版本? SQL 只是 结构化查询语言 - 许多数据库系统使用的语言,但不是数据库产品...这样的功能通常是特定于供应商的 - 所以我们真的需要知道您使用的是什么数据库系统....(请相应地更新标签)
-
看起来您的引擎支持 JSON 作为数据类型,您必须查看供应商特定的语法来查询 json。这是哪家供应商?