2011-12-12 39 views

回答

2

您可以指定一個查詢,而不是與複製表的名稱,以便您可以從您char(n)列添加一個TRIM調用剝去前後空白:

copy (select trim(some_column), ... from some_table) to stdout with csv; 
3

其實,這無關與COPY。數據類型char每個定義都是空白填充的。那列的正確內容。閱讀manual about data types

char是一個時代的遺產,在這個時代,計算機系統在變長的字符串時很難用,而且現在很少有用。你可以像@mu描述那樣改變這個出口。但是,要解決此問題,請在表列中使用text數據類型(或varchar)。

+0

數據類型並不總是一個選擇,但事實上。我想我們會在UNIX世界末日之後找到CHAR ;-) – javadude