首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 實作字串型自動遞增編號欄位

     編輯:關於SqlServer

需求:ID 欄位為字元型 CHAR(10),格式如 NA01SS-00000001,新增記錄時自動產生流水號。

解法:使用 身分識別欄位 搭配 計算欄位 實現:

CREATE TABLE [MAdmPeo] (
    [ID] [numeric](8, 0) IDENTITY(1,1) NOT NULL,
    [PeoNo] AS ('NA01SS-' + RIGHT('00000000' + CONVERT(VARCHAR(8), [ID]), 8)),
    -- 其他欄位...
)
GO

原理說明

  • ID 為數值型身分識別欄位,自動遞增 1,2,3...。
  • PeoNo 為計算欄位 (AS 子句),不佔實體儲存空間,查詢時即時運算。
  • CONVERT(VARCHAR(8), [ID]) 將數字轉字串。
  • '00000000' + ... 左補零至 8 位。
  • RIGHT(..., 8) 取右 8 碼,確保固定長度。
  • 前綴 'NA01SS-' 串聯後形成完整編號。

插入資料時僅需 INSERT INTO MAdmPeo (...) VALUES (...),PeoNo 會自動產生 NA01SS-00000001、NA01SS-00000002 ... 格式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved