SQL Server ID以零开头

时间:2018-09-21 15:41:37

标签: sql-server

我正在创建发票表,并且我希望ID以零开头,因为我最终会将发票#与varchar串联在一起,该发票将保持不变。例如,这是到目前为止的表格:

create table MCE_IDTest_av
(
    invoice_id_num int not null Identity(100076,1) primary key,
    invoice_id as ('MCE' + CONVERT(varchar, invoice_id_num)),
);

invoice_id将列为“ MCE100077”,“ MCE100078”等。但是,我希望它是“ MCE0010076” 。是否存在以零开头的SQL数字数据类型?

1 个答案:

答案 0 :(得分:1)

这不是填充前导0的数据类型。这类事情必须使用字符数据类型来完成。但是您可以轻松完成此操作。

还请确保始终指定varchar数据的长度。 https://sqlblog.org/2009/10/09/bad-habits-to-kick-declaring-varchar-without-length

create table MCE_IDTest_av(
invoice_id_num int not null Identity(100076,1) primary key,
invoice_id as ('MCE' + right('00000000' + CONVERT(varchar(10), invoice_id_num), 7)),

);