#mysql #sql #sqlalchemy
Вопрос:
У меня есть поле авторов MySQL в строке, разделенной запятыми, и я хочу найти в нем точное совпадение. Например, я хочу вернуть все строки, в которых «Джефф» является соавтором, в следующей таблице:
тест | соавторы |
---|---|
1 | джефф,бет,бен,Джим |
2 | бет,Джеффри,Бенджамин, джиммоти |
3 | бен,бет,Джим,Джефф |
4 | ben,beth,jeffrey |
В этом примере я хотел бы вернуть только строки 1 и 3, поэтому игнорирую «джеффри», в подстроке которого есть «джефф».
В идеале я бы вернул это с помощью синтаксиса SQLAlchemy .filter, так как я использую ORM, но SQL-запрос также действительно помог бы мне.
Комментарии:
1. возможно, полезно : docs.sqlalchemy.org/en/14/core/…
Ответ №1:
В MySQL есть функция FIND_IN_SET ().
SELECT * FROM authors WHERE FIND_IN_SET('jeff', co_authors) > 0;
Надеюсь, это вам поможет.