通过更新查询格式化新列中的数据

时间:2018-12-19 18:44:52

标签: sql postgresql

我有两列“ POI Year”和“ POI SeqNum”,它们看起来像:

|POI Year|POI SeqNum|new_col
|2005    |1         |
|2006    |17        |

我试图返回年份和序列号,但我还需要将'30'作为字符串和'.'添加为字符串,因此我试图制定一个更新查询,最终结果看起来像像这样:

|POI Year|POI SeqNum|new_col
|2005    |1         |2005.301
|2006    |17        |2006.317

3 个答案:

答案 0 :(得分:1)

在SeqNum中添加300可能是窍门。

UPDATE yourtable
SET new_col = CONCAT("POI Year", '.', 300+"POI SeqNum")

答案 1 :(得分:0)

像这样吗?

select 
  poi_year,
  poi_seqnum,
  to_char(poi_year, '9999') || '.' || 
    to_char(300 + poi_seqnum, '999') as new_col
from my_table

答案 2 :(得分:0)

您可以使用to_char()来设置数字的前导零,然后将其与年份连接起来:

select poi_year,
       poi_seqnum, 
       poi_year||'.'||to_char(poi_seqnum, 'FM00')
from the_table;