使用Python和py-postgresql返回查询中的空格

Dav*_*vid 2 python postgresql whitespace removing-whitespace

我正在使用py-postgresql驱动程序.每当我做SELECT它的工作正常,但我得到返回的列的全宽,用空格.所以,如果我有一个字段,character(25)其中包含"名称",并执行:

SELECT name WHERE name = 'Name'
Run Code Online (Sandbox Code Playgroud)

我明白了

"Name                     " << "Name" followed by 21 spaces
而不仅仅是 Name

示例我直接从IDLE运行的代码

db = posgresql.driver.connect(user     = [USERNAME],
                              password = [PASSWORD],
                              host     = [HOST],
                              port     = [PORT]
)

db.query("SELECT [FIELD] FROM [TABLE] WHERE [TRUE]")
Run Code Online (Sandbox Code Playgroud)

没有问题,它返回,是的,我知道如何剥离结尾的空白,但它可能需要在那里,所以我真的想弄清楚如何让事情返回没有多余的空白.

bos*_*jak 5

您的列可能被定义为CHAR(n)类型,数据库必须遵守该类,因此它最后会添加空格.您应该将列类型切换VARCHAR(n)为最大长度为的可变长度字段n,并且不会有更多的尾随空格.