我有这个 INSERT 语句,在 acct_desc 字段的末尾似乎有尾随空格。我想知道如何防止在插入语句期间出现尾随空格。

INSERT INTO dwh.attribution_summary
SELECT d.adic,
       d.ucic,
       b.acct_type_desc as acct_desc,
       a.begin_mo_balance as opening_balance,
       c.date,
      'fic' as userid
FROM  fic.dim_members d
JOIN  fic.fact_deposits a ON d.ucic = a.ucic
JOIN  fic.dim_date c ON a.date_id = c.date_id
JOIN  fic.dim_acct_type b ON a.acct_type_id = b.acct_type_id
WHERE c.date::timestamp = current_date - INTERVAL '1 days';

最佳答案

使用 PostgreSQL trim() 函数。
trim() , rtrim() and ltrim()
要修剪尾随空格:

...
rtrim(b.acct_type_desc) as acct_desc,
...

如果 acct_type_desc 不是 text or varchar 类型,请先将其转换为文本:
...
rtrim(b.acct_type_desc::text) as acct_desc,
...

如果 acct_type_descchar(n) 类型,则将其转换为文本会自动删除尾随空格,不需要 trim()

关于postgresql - 在插入过程中防止尾随空格?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9996902/

10-09 06:28