使用concat_ws将PostgreSql文本转换为varchar

时间:2017-03-27 01:23:58

标签: postgresql

我正在使用PostgreSQL,我需要字段作为字符串而不是文本。 这是声明

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

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

1 个答案:

答案 0 :(得分: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)