我是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
);