【发布时间】:2015-10-07 07:54:18
【问题描述】:
文档告诉我 LIKE 和 NOT LIKE 在 SQL 中用于搜索单元格是否包含/开始/结束于某些字符。
我试图在 PostgreSQL 中使用它,它告诉我操作符不存在。我的查询:
SELECT * FROM "City"."models"
WHERE (("City"."models".identifier NOT LIKE'%$%')
AND
(("City"."models".id LIKE '%2%')
OR
("City"."models".id LIKE '%1%')))
ORDER BY "City"."models".town_id ASC LIMIT 10
列类型:
identifier->uuid
id->int
town_id->int
我的错误在哪里?
【问题讨论】:
-
向我们展示一些示例数据,最好在SQLFiddle 中发布您的查询
-
你真的应该发布完整的错误信息。
-
我的猜测是“标识符”和“id”不是字符串。 LIKE 不适用于数值。
-
LIKE不适用于整数,你必须使用类似CAST(id as VARCHAR) LIKE '%2%'等的东西。但这看起来很奇怪,你为什么要过滤像文本这样的整数? -
它看起来很奇怪,我确信错误消息告诉他 int 不能与
LIKE一起使用
标签: sql postgresql sql-like