【发布时间】:2020-04-15 03:18:35
【问题描述】:
选择语句:
self.selectSQLQuery = 'SELECT * FROM DIM WHERE REPORT_NAME=?'
cur.execute(sqlQuery,trans)
我正在使用参数化查询,字符串中有一些单引号,并且这个字符/字符串不是工作属性
Cantons De L’est
当我打印参数列表时,' 看起来是正确的
("St. John's",)
("St. John's",)
('Edmonton',)
('Victoria',)
('Cantons De L’est',)
除了将其替换为'之外的任何解决方案
【问题讨论】:
-
使用
replace函数? -
是的,我已经这样做了,但我想知道是否有任何 sql 解决方案。谢谢
-
Java(Script) 预格式化示例:param1.replaceAll("'","''");
-
数据库中存储了什么值?您的参数列表中显示的“右单引号”U+2019 在“Teradata LATIN”中不可用。如果需要传递该值,则应在创建连接时使用 Unicode 会话字符集(例如 UTF8)而不是默认的“ASCII”。