如何在 SQLite 中使用部分 var 查询变量 python
How query variables with part of var in SQLite python
我应该用其中的一部分查询 SQLite 中的一些变量,如下面的代码
我需要获取此列中以 5070 开头的所有数字,我使用 ?*
Number = 5070
point = 5
point_s =25
result1 = cur.execute("""SELECT * FROM C1 WHERE
point = ?
AND point_s = ?
AND trackNumber GLOB '5070*'
AND observed LIKE 'A%'
order by rowid""", (probeType, probe))
通过这种方式从以 5070 开头的列中获取所有内容,但是当我使用 ?* 作为 var face 时出现错误
result1 = cur.execute("""SELECT * FROM C1 WHERE
point = ?
AND point_s = ?
AND trackNumber GLOB ?*
AND observed LIKE 'A%'
order by rowid""", (probeType, probe, TrackNumber))
但是当我使用这个时,会出现一个错误 "sqlite3.OperationalError: near "AND": syntax error"
有什么办法可以解决这个问题吗?
+我使用 LIKE 而不是 GLOB 仍然没有用,而且我使用 % 并面临同样的错误。
从 SQL 中删除星号并将其附加到参数:
result1 = cur.execute("""SELECT * FROM C1 WHERE
point = ?
AND point_s = ?
AND trackNumber GLOB ?
AND observed LIKE 'A%'
order by rowid""", (probeType, probe, str(TrackNumber) + "*"))
如果 TrackNumber
已经是一个字符串,则它周围的 str(...)
是不必要的。
我应该用其中的一部分查询 SQLite 中的一些变量,如下面的代码 我需要获取此列中以 5070 开头的所有数字,我使用 ?*
Number = 5070
point = 5
point_s =25
result1 = cur.execute("""SELECT * FROM C1 WHERE
point = ?
AND point_s = ?
AND trackNumber GLOB '5070*'
AND observed LIKE 'A%'
order by rowid""", (probeType, probe))
通过这种方式从以 5070 开头的列中获取所有内容,但是当我使用 ?* 作为 var face 时出现错误
result1 = cur.execute("""SELECT * FROM C1 WHERE
point = ?
AND point_s = ?
AND trackNumber GLOB ?*
AND observed LIKE 'A%'
order by rowid""", (probeType, probe, TrackNumber))
但是当我使用这个时,会出现一个错误 "sqlite3.OperationalError: near "AND": syntax error" 有什么办法可以解决这个问题吗?
+我使用 LIKE 而不是 GLOB 仍然没有用,而且我使用 % 并面临同样的错误。
从 SQL 中删除星号并将其附加到参数:
result1 = cur.execute("""SELECT * FROM C1 WHERE
point = ?
AND point_s = ?
AND trackNumber GLOB ?
AND observed LIKE 'A%'
order by rowid""", (probeType, probe, str(TrackNumber) + "*"))
如果 TrackNumber
已经是一个字符串,则它周围的 str(...)
是不必要的。