在PostgreSQL中更新字符串

时间:2016-10-19 23:54:13

标签: sql postgresql

在给定的数据库表“Animals”中,存在一个名为“anim_name”的列,如下图所示 enter image description here

更新anim_name,以便不会有' - '。

示例:

'TE-MAEWA 04000' should update as 'TE MAEWA 04000' 
'TE-MAEWA 04354 CHAROLAIS CROSS' should update as 'TE MAEWA 04354 CHAROLAIS CROSS'

以下更新声明错误

 update animals 
    set anim_name = 'TE MAEWA%'
  where soc_code = 'AUDV' 
    and anim_name like 'TE-MAEWA%'

因为这会将每个动物名称更新为'TE MAEWA%'。什么是正确的更新声明。

1 个答案:

答案 0 :(得分:1)

使用函数replace()

update animals
set anim_name = replace(anim_name, 'TE-MAEWA', 'TE MAEWA')
where soc_code = 'AUDV' and anim_name like 'TE-MAEWA%';