sqlite3:靠近“(”:语法错误 - python 代码
sqlite3 : near "(": syntax error - python code
我收到此查询的语法错误,无法弄清楚我在其中犯了什么错误。
db = sqlite3.connect('C:\Users\Siva Sakthi Velan\Downloads\Intranet\mobiveil.db')
sql = """select cast(sum(datediff(second,0,Total_Hours))/3600 as varchar(12)) + ':' +right( '0' + cast(sum(datediff(second,0,Total_Hours))/60%60 as varchar(2)),2) +':' + right('0' + cast(sum(datediff(second,0,Total_Hours))%60 as varchar(2)),2) from timesheet order by Date group by Task_Category where Date >=? and Date<=?"""
sq1 = db.execute(sql,(str(From),str(To)))
error: near "(": syntax error
我该如何纠正?
你不能在 SQLite 中使用 right()
;有 no such function。使用 substr()
代替:
substr(...., -2)
获取最后两个字符。
您还需要固定 where
、group by
和 order by
子句的顺序;这些有 strict order:
...
from timesheet
where Date >=? and Date<=?
group by Task_Category
order by Date
先是WHERE
,然后是GROUP BY
,然后是ORDER BY
。
我收到此查询的语法错误,无法弄清楚我在其中犯了什么错误。
db = sqlite3.connect('C:\Users\Siva Sakthi Velan\Downloads\Intranet\mobiveil.db')
sql = """select cast(sum(datediff(second,0,Total_Hours))/3600 as varchar(12)) + ':' +right( '0' + cast(sum(datediff(second,0,Total_Hours))/60%60 as varchar(2)),2) +':' + right('0' + cast(sum(datediff(second,0,Total_Hours))%60 as varchar(2)),2) from timesheet order by Date group by Task_Category where Date >=? and Date<=?"""
sq1 = db.execute(sql,(str(From),str(To)))
error: near "(": syntax error
我该如何纠正?
你不能在 SQLite 中使用 right()
;有 no such function。使用 substr()
代替:
substr(...., -2)
获取最后两个字符。
您还需要固定 where
、group by
和 order by
子句的顺序;这些有 strict order:
...
from timesheet
where Date >=? and Date<=?
group by Task_Category
order by Date
先是WHERE
,然后是GROUP BY
,然后是ORDER BY
。