PostgreSQL Computed Column with Format ('TR-'+format([Id],'00000000000'))



我是Postgres的新手,我需要创建计算列来格式化请求号,如下所示

TR-000000001
TR-000000011
TR-000000111

SQL server中的处理如下

('TR-'+format([Id],'0000000000'))

它工作得很好

如何使用PostgreSQL

根据手册中的说明,标准SQL(和PostgreSQL)中的连接运算符是||-+用于添加数字。

定义生成的列的语法也记录在手册中,并遵循模式:

<column name> <data type> generated always as (<expression>) stored 

可以使用lpad()函数将数字转换为以0开头的字符串。

把这些放在一起,你要找的是:

create table the_table 
(
id int primary key,
formatted_id text generated always as ('TR-'||lpad(id::text, 10, '0')) stored
);

最新更新