如何在SQL Server中添加具有自动增量值的字符串?
create table date (sno int 'emp_'+ identity(1,1))
我需要关注输出
emp_1
emp_2
答案 0 :(得分:8)
INT IDENTITY
列ID
合并在一起:这样的事情:
CREATE TABLE dbo.YourTable
(ID INT IDENTITY(1,1),
EmpID AS 'emp_' + CAST(ID AS VARCHAR(10)) PERSISTED,
......
)
这样,您的ID
列是正常的IDENTITY列,EmpID
将包含emp_1, emp_2, emp_3, ......, emp_42, ...
通过将其设置为持久计算列,数据实际存储在磁盘上,无需在每次访问表时重新计算。此外,当持久化时,您也可以轻松地在该计算列上放置索引
答案 1 :(得分:1)
您不能将任何字符串用作自动增量
让我们认为你有一张桌子
|- id -|- name -|
|- 1 -|- Utku -|
|- 2 -|- Gopi -|
让我们选择它们为emp_1,emp_2
SELECT CONCAT("emp_",id) AS emp_id,name
FROM table
结果:
|- emp_id -|- name -|
|- emp_1 -|- Utku -|
|- emp_2 -|- Gopi -|
答案 2 :(得分:0)
尝试使用计算列MSDN
CREATE TABLE Yourtablename
(
ID int IDENTITY (1,1) NOT NULL
InvoiceID AS 'INV'+ right('000000' cast(ID as varchar(20),7)
);