2017-03-27 62 views
0

我正在使用PostgreSQL,我需要字段而不是文本字符串。 下面是聲明PostgreSql文本到varchar與concat_ws

select AutoNbr, 
     concat_ws(', ', Site_Street, Site_City, Site_Country, Site_PostCode) as cFullAddress , Order_Date 
from Porder 

我需要的是cFullAddress是一個varchar不是文本字段。

+0

爲什麼你認爲你需要的?這兩種類型在Postgres中基本相同 –

+0

我使用的Delphi網格看到了文本(備忘錄)和字符串之間的區別。網格只是說(備忘錄)不是字符串信息 – sippytom

回答

0

根據documents

如果字符沒有長度指定器用於不同的類型接受任何大小的字符串。後者是PostgreSQL擴展。

另外,PostgreSQL提供了文本類型,它存儲任意長度的字符串。雖然類型文本不在SQL標準中,但其他幾個SQL數據庫管理系統也有。

但是你可以把它轉換成varchar;

select AutoNbr, 
concat_ws(', ', Site_Street, Site_City, Site_Country, Site_PostCode)::varchar as cFullAddress , Order_Date, 
CAST(concat_ws(', ', Site_Street, Site_City, Site_Country, Site_PostCode) as VARCHAR) 
from Porder 

相關鏈接使用投:type cast

Difference between text and varchar (character varying)

+0

謝謝你。 – sippytom