我正在做一个项目,发票号码应该打印为
(ddMMYYYY)+(Int)
例如:
07072015001
07072015002
....
07072015110
诸若此类。
我正在使用asp.net (C#)和Server作为后端。
请帮帮忙。
发布于 2015-07-06 23:08:08
假设您有一个Invoice
表,并且它至少包含InvoiceID
(int identity
)和InvoiceDate
(数据类型为DATE
),那么您可以简单地向表中添加一个经过计算的、持久化的列:
ALTER TABLE dbo.Invoices
ADD InvoiceNo AS REPLACE(CONVERT(VARCHAR(10), InvoiceDate, 104), '.', '') +
RIGHT(REPLICATE('0', 6) + CAST(InvoiceID AS VARCHAR(6)), 6) PERSISTED
因此,如果表中有几行,InvoiceNo
将由Server自动填充,如下所示:
可以像任何其他列一样使用和读取该列--您无法设置它(SQL Server将自动为您执行插入新行或更新现有行时的操作)
发布于 2015-07-06 23:00:53
你可以做以下的事情
int invoice = 1;
string date = DateTime.Now.ToString("MMddyyyy") + invoice.ToString();
OutPut
070720151
发布于 2015-07-06 23:00:56
这就是你要找的吗?使用ddMMYYYY
代替ddMMyyyy
DateTime myDate = DateTime.Now;
string strTime = myDate.ToString("ddMMyyyy");
int intValue=111;
var invoiceNumber = strTime + intValue.ToString();
https://stackoverflow.com/questions/31261595
复制相似问题