我想在表格的每一列中的每个单元格中添加一些文本作为该特定列的符号。例如,我的表格如下(所有字段都是类型字符变化):
name age location james 45 france simon 33 usa ben 76 china
我想将其修改为:
name age location ajames b45 cfrance asimon b33 cusa aben b76 cchina
有没有人对我如何做到这一点有任何建议?
答案 0 :(得分:53)
首先,您必须将您的年龄转换为某种字符串。之后,您可以像这样转换值(当然,您必须为每个字段执行此操作):
update mytable set name = 'a' || name, age = 'b' || age;
这会更新表格中的数据。如果您只想要输出前缀,则可以使用以下方法:
select 'a' || name as name, 'b' || age as age from mytable;
在这种情况下,无需转换年龄数据类型。
答案 1 :(得分:0)
可接受的答案不是处理空值和空格。所以我给了这个答案。如果能帮助某人,那将是我的荣幸。
update "public"."mytable" set
"name"= case when "name" is null or trim("name")='' then null else 'a' || "name" end,
"age"= case when "age" is null or trim("age")='' then null else 'b' || "age" end,
"location"= case when "location" is null or trim("location")='' then null else 'c' || "location" end;