终于解决了中文列名的查询问题,却又出现了查询数据类型报错的问题。欲哭无泪啊!!
目录
解决方法
问题
博主的数据库里有个时间码的数据列,内容是数字+字母的形式,数据列为text类型,但是在进行条件查询的时候一直报错数据类型有问题,意思大概是前面64810000是数字,后面ms是字母,格式不同。但是我的数据列明明是text啊!怎么还会有格式问题。
查询语句如下:
sql = 'select * from source2decode where "工程参数.本机时间码" = 64810000ms'
解决方法
采用sql语句参数分离的方法,将sql语句中的参数用形参占位符代替,用params传入实参,注意这里传了两个参数,params里也写了两个实参,并且每个实参后面都需要加上逗号。
sql = '''select * from source2decode where "工程参数.本机时间码" >= (%s) and "工程参数.本机时间码" <= (%s);'''
params = ('2726000ms', '2736000ms',)