为什么 CONTAINS 和 LIKE 在 SQL 中不起作用?
Why CONTAINS and LIKE are not working in SQL?
我正在尝试从 SQL database
中提取关键字,但 CONTAINS
和 LIKE
都不起作用。
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite://', echo=False)
df = pd.read_csv('data.csv')
sql = df.to_sql('table1', con=engine,index=True)
q1 = engine.execute('SELECT * FROM table1 WHERE features LIKE "Swimming" ').fetchall()
q2 = engine.execute('SELECT * FROM table1 WHERE CONTAINS(features, "Swimming") ').fetchall()
两种方法我都试过了,但我没有得到答案。我收到此错误 OperationalError: (sqlite3.OperationalError) no such function: CONTAINS [SQL: 'SELECT * FROM table1 WHERE CONTAINS(features, "Swimming") '] (此错误的背景位于:http://sqlalche.me/e/e3q8)
您需要在 SQL 语句周围使用双引号,并在其中使用单引号。
q1 = engine.execute("SELECT * FROM table1 WHERE features LIKE '%Swimming%' ").fetchall()
您可能希望将 'Swimming' 更改为“%Swimming%”,以便它可以与任何包含游泳的值相匹配。
我正在尝试从 SQL database
中提取关键字,但 CONTAINS
和 LIKE
都不起作用。
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite://', echo=False)
df = pd.read_csv('data.csv')
sql = df.to_sql('table1', con=engine,index=True)
q1 = engine.execute('SELECT * FROM table1 WHERE features LIKE "Swimming" ').fetchall()
q2 = engine.execute('SELECT * FROM table1 WHERE CONTAINS(features, "Swimming") ').fetchall()
两种方法我都试过了,但我没有得到答案。我收到此错误 OperationalError: (sqlite3.OperationalError) no such function: CONTAINS [SQL: 'SELECT * FROM table1 WHERE CONTAINS(features, "Swimming") '] (此错误的背景位于:http://sqlalche.me/e/e3q8)
您需要在 SQL 语句周围使用双引号,并在其中使用单引号。
q1 = engine.execute("SELECT * FROM table1 WHERE features LIKE '%Swimming%' ").fetchall()
您可能希望将 'Swimming' 更改为“%Swimming%”,以便它可以与任何包含游泳的值相匹配。