有没有办法创建半串的列? 想象一下,我有下表:
create table item (
item_number varchar(10) PRIMARYKEY,
)
但我希望列item_number是这样的:ITEM001,ITEM002,ITEM003 .... 所以我想要ITEM这个词然后是一个序列。
答案 0 :(得分:2)
使用具有默认值的序列:
create sequence item_number_seq;
create table item
(
item_number varchar(10) primary key default 'ITEM'||to_char(nextval('item_number_seq'), '00000')
);
但为所有行存储相同常量值几乎没用。只需使用常规序列,并在显示这些值时添加该常量。或者使用视图来做到这一点。
答案 1 :(得分:1)
在查询时或表示层执行此操作:
create table item (item_number serial primary key);
select 'ITEM' || to_char(item, '999')
from item