Итак, у меня есть этот запрос:
SELECT count(*) AS count FROM table1 INNER JOIN "some query"
WHERE "some more query"
OR (table.smowid NOT LIKE (58)) OR "rest of query"
Извините за неясный код, полный запрос довольно большой, но проблема в части table.smowid NOT LIKE (58)
.
Это ошибка, которую я получаю:
ERROR: operator does not exist: integer !~~ integer
LINE 11: or ( (table.smowid) NOT LIKE (58))
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
К сожалению, я не знаю много о приведениях и типах, но почему БД жалуется, когда она переходит от целого к целому?Я попробовал CASTING, сказав (CAST (table.smowid) AS INTEGER) NOT LIKE (58)
, но это не сработало, я также попробовал (table.smowid :: integer) NOT LIKE (58)
, но это также не сработало по какой-то причине.
Итак, что мне делать?Спасибо за помощь.