如何根据整数列中postgres中的值范围添加前导零
How to add a leading zero based on range of values in postgres within an integer column
刚接触 postgres,不确定如何完成以下操作。我有一个 table 如下:
create table if not exists my_table (
id int GENERATED BY DEFAULT AS IDENTITY primary key,
key int default 0
)
我想做的是取一个整数值 (my_key
),如果它是 >= 0 and < 10
,则向其添加前导零 (0) 并将其插入 my_table.key
我试过 to_char(my_key::integer,'09')::integer where my_key = 0
但它没有在 key
列。
任何帮助都会很棒。
前导零不会改变整数的值,所以这是一个关于格式化数字的问题。
如果要显示带有前导零的 id
列,您可以这样做:
SELECT to_char(id, '00'), key
FROM "table";
格式00
将数字格式化为带有租用零的两位数字符串。如果id
大于99,数字就不能这样格式化,会得到##
.
有关 to_char
和可用格式的详细信息,请参阅 the documentation。
刚接触 postgres,不确定如何完成以下操作。我有一个 table 如下:
create table if not exists my_table (
id int GENERATED BY DEFAULT AS IDENTITY primary key,
key int default 0
)
我想做的是取一个整数值 (my_key
),如果它是 >= 0 and < 10
,则向其添加前导零 (0) 并将其插入 my_table.key
我试过 to_char(my_key::integer,'09')::integer where my_key = 0
但它没有在 key
列。
任何帮助都会很棒。
前导零不会改变整数的值,所以这是一个关于格式化数字的问题。
如果要显示带有前导零的 id
列,您可以这样做:
SELECT to_char(id, '00'), key
FROM "table";
格式00
将数字格式化为带有租用零的两位数字符串。如果id
大于99,数字就不能这样格式化,会得到##
.
有关 to_char
和可用格式的详细信息,请参阅 the documentation。