psycopg2 Python 在字段 postgresql 中连接百分比“%”

psycopg2 Python concatenate percentage '%' in field postgresql

这是一个非常具体的问题,但我是 运行 通过 Python 使用 psycopg2 运行 Postgresql 查询的自动化脚本。 returns 百分比字段之一,但我不想将它们显示为整数,而是想在每个数字后添加一个百分比。例如,我的查询中有这一行:

CASE WHEN (delivered_orders != 0) then round((scanned_deliveries::numeric 
/ delivered_orders::numeric)*100) when delivered_orders = 0  then 0 end as 
scan_percent

因此,如果有 4 个订单并且扫描了 3 个,它将 return 75。我希望它达到 return 75%。我试过将它与 || 连接起来'%' 和 || % 在 "end" 之后,但 Python 将百分比视为占位符,它说 Tuples out of range 因为我没有足够的值。我也尝试过将它用作占位符,然后在 cursor.execute(query, ('%')) 时放置 '%' 但它说:

ValueError: 不支持的格式字符

我也尝试了一些其他的东西。我在这里用头撞墙,认为你们这些聪明人可能知道我需要做什么。感谢您的帮助!

%% 用于文字 %。来自 Psycopg docs:

When parameters are used, in order to include a literal % in the query you can use the %% string:

>>> cur.execute("SELECT (%s % 2) = 0 AS even", (10,))       # WRONG
>>> cur.execute("SELECT (%s %% 2) = 0 AS even", (10,))      # correct