2024-09-28 03:25:16 发布
网友
我使用双反斜杠将SQL查询从python服务器传递到Oracle:
SELECT ID FROM Works WHERE NAME IN ('ABC\\ABC', 'sdf\\sdfsdf', 'lkj\\sdfsdf')
执行查询后,我什么也没有得到。但当删除一个反斜杠并在DBeaver(SQL工具)中执行时,结果是正常的
表中的NAME字段有一个反斜杠,如下所示:ABC\ABC
NAME
ABC\ABC
我的问题有两种解决方案:
Python中SQL查询中的绑定值:
https://cx-oracle.readthedocs.io/en/latest/user_guide/bind.html#binding-multiple-values-to-a-sql-where-in-clause;
感谢Christopher Jones提供了绑定execute命令中的值的解决方案。它在使用双反斜杠时效果很好
execute
cursor.execute(""" select employee_id, first_name, last_name from employees where last_name in (:name1, :name2)""", name1="Smith", name2="Taylor")
播放解码/编码:how do I .decode('string-escape') in Python3?
反斜杠不是Oracle字符串文字中的特殊字符,因此,不需要用另一个反斜杠对其进行转义
您确实需要转义的一件事是将单引号加倍(假设您没有使用“q”语法),这样您就有了一个类似'Susan''s'的字符串
'Susan''s'
我的问题有两种解决方案:
Python中SQL查询中的绑定值:
https://cx-oracle.readthedocs.io/en/latest/user_guide/bind.html#binding-multiple-values-to-a-sql-where-in-clause;
感谢Christopher Jones提供了绑定
execute
命令中的值的解决方案。它在使用双反斜杠时效果很好播放解码/编码:how do I .decode('string-escape') in Python3?
反斜杠不是Oracle字符串文字中的特殊字符,因此,不需要用另一个反斜杠对其进行转义
您确实需要转义的一件事是将单引号加倍(假设您没有使用“q”语法),这样您就有了一个类似
'Susan''s'
的字符串相关问题 更多 >
编程相关推荐