为什么CONTAINS和LIKE在SQL中不起作用?

时间:2019-02-04 03:43:23

标签: sql python-3.x sql-like

我正在尝试从SQL databaseCONTAINSLIKE提取关键字。

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)没有这样的功能:CONTAINS [SQL:'SELECT * FROM table1 WHERE CONTAINS(features,“ Swimming”)'](此错误的背景位于:{{3} })

1 个答案:

答案 0 :(得分:2)

您需要在SQL语句周围使用双引号,并在其中使用单引号。

q1 = engine.execute("SELECT * FROM table1 WHERE features LIKE '%Swimming%' ").fetchall()

您可能希望将“游泳”更改为“%游泳%”,以便它可以与其中包含游泳的任何值匹配。