【发布时间】:2018-06-13 05:32:51
【问题描述】:
我正在运行 python 3.6。我正在运行一个 sql 查询来提取数据。我正在使用以下查询
sql="SELECT DISTINCT A.Employee_No "
sql=sql+"FROM Employee A "
sql=sql+"INNER JOIN Dept B1 "
sql=sql+"ON (B1.Dept_ID = A.Dept_ID"
sql=sql+"OR B1.Manager_ID = A.Manager_ID "
sql=sql+"OR B1.Joining_Date = A.Joining_Date "
sql=sql+"OR B1.Group = A.Group) "
sql=sql+"And B1.ACCT_YEAR = '"+str(acct_year)+"'"
sql=sql+" AND B1.surname in ('"+surname+"') "
sql=sql+"AND B1.address IN ('"+address+"')"
sql=sql.replace(u'\xa0', ' ')
但是我的代码中出现了一些错误。所以我放了一条打印语句来检查我的sql。我使用了print(sql) 并得到了部分文本作为输出然后我尝试了以下代码
我的 sql 显示为一个系列,所以我使用此代码将其更改为字符串并使用 textwrap 打印
str=sql.to_string()
但我仍然得到像这样的部分输出
import textwrap
print(textwrap.fill(str, 20))
SELECT DISTINCT A.Employee_No
FROM Employee...
我也尝试了 40 而不是 20,但输出仍然相同。您能建议我如何查看完整的长字符串吗? 可以吗
【问题讨论】:
-
我无法重现您的问题。如果你只做
print(sql)会发生什么? -
注意(与错误无关):而不是
sql=sql+"...使用sql += "...。 -
也无法复制。你能用一个花哨的IDE吗?顺便说一句,你硬编码的参数是一个 bad 的 SQL 查询。请学习参数化查询。
-
“一些错误”。不要让我们悬而未决。什么错误?
-
那么我认为你的问题与spyder有关。我刚刚将标签添加到问题中