0

执行以下查询后:

insert into regiony 
(m_valid, m_validationreport, 
m_creation_timestamp, m_creation_user, 
m_modification_timestamp, m_modification_user, 
instance, kod_regionu, nazwa_gminy, kod_teryt) 

select distinct NULL, NULL, now(), 'abc', now(), 
'abc', NULL, region_poch, export_gmina, replace(teryt, '|', '') from source_table

我收到以下错误:

错误:列“m_valid”是布尔类型,但表达式是文本类型

我尝试将空值转换为布尔值(NULL::boolean),它适用于布尔值,但目标表(区域)中的实例列是 XML 类型,并且 PGSQL 拒绝将 NULL 转换为 XML。将 null 转换为 xml 后,我得到:

错误:无法识别 xml 类型的相等运算符

有什么建议么?所有接收空值的列都允许空值,我已经没有想法了。

干杯,简

4

1 回答 1

1

尝试在没有显式空语句的情况下重写它,让 PG 根据需要处理它们:

insert into regiony (
  m_creation_timestamp,
  m_creation_user,
  m_modification_timestamp,
  m_modification_user,
  kod_regionu,
  nazwa_gminy,
  kod_teryt
  )
select distinct now(),
  'abc',
  now(),
  'abc',
  region_poch,
  export_gmina,
  replace(teryt, '|', '')
from source_table
于 2013-05-14T13:03:48.280 回答