|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zjxmzs 于 2017-9-14 11:30 编辑
sql ='''SELECT COUNT(*) from ZTB_UserInfo where DATEDIFF(d, GETDATE(), ShenheDate) = 0 and Locked ='开启' '''
conn = pymssql.connect(host ="157.16.3.132",database ="zy",user="sa",password="zzzjjj2013",charset="GBK")
cur_jrrk = conn.cursor()
cur_jrrk.execute(sql.encode('gbk'))
jrrk = cur_jrrk.fetchall()
conn.close()
print(jrrk )
环境python3,sqlervr2012的编码是GBK
语句在企业管理器中执行有数据,但放到execute里执行时就是0。
这个是打印的结果 [(0,)]
如果where后的条件是数字或者英文,显示的查询结果就是正常的。
求解。。。。。。。。。。。。。。
通过排除,查询字段为varchar时是正常的,Locked这个字段是nvarchar。所以通过修改查询语句后解决了。
修改后的语句:
cur_jrrk.execute('SELECT COUNT(*) from ZTB_UserInfo where DATEDIFF(d, GETDATE(), ShenheDate) = 0 and convert(varchar(10),Locked) =%s','开启'.encode('gbk'))
|
|