我正在使用 MS SQL 并創建一個表。其中一列應包含一個帶有 4 個符號的字串:L001,L002
不能有更少或更多的符號,例如L01和L0001是錯誤。
我需要使用哪種型別的資料?CHAR(4)并NCHAR(4)允許我創建L01,但在我的情況下這是錯誤的。
uj5u.com熱心網友回復:
您應該使用CHECK CONSTRAINT:可以使用約束創建表
CREATE TABLE Test (
ID int NOT NULL,
Code varchar(4),
CHECK (LEN(Code) = 4)
);
或更新現有表:
CREATE TABLE Test (
ID INT NOT NULL,
Code CHAR(4)
);
ALTER TABLE Test
ADD CONSTRAINT CHK_Code_LEN
CHECK (LEN(Code) = 4);
測驗:
INSERT INTO Test VALUES (1, 'L001'); -- data inserted
INSERT INTO Test VALUES (2, 'L0011'); -- error raised
INSERT INTO Test VALUES (2, 'L11'); -- error raised
結果:
SELECT * FROM Test;
==== ======
| ID | Code |
==== ======
| 1 | L001 |
---- ------
MS SQL 小提琴檢查
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/391567.html
