use*_*015 4 sql t-sql sql-server check-constraint
我必须使用检查约束在SQL Server中创建一个表,以仅允许大写的值集
我的代码如下:
CREATE TABLE Client(
clientID INT IDENTITY(1,1) PRIMARY KEY,
FirstName VARCHAR(30) NOT NULL,
LastName VARCHAR(30) NOT NULL,
StreetAddress VARCHAR(50),
Suburb VARCHAR(25),
State VARCHAR(4) CHECK (state in ('QLD', 'NSW', 'VIC', 'TAS', 'SA', 'WA', 'NT', 'ACT')),
PhoneNumber VARCHAR(10)
);
Run Code Online (Sandbox Code Playgroud)
请检查错误并帮助我
默认情况下,SQL Server不区分大小写.您可以通过应用区分大小写的排序规则将列定义为区分大小写:
declare @t table (state varchar(4) check (state in ('ok', 'computer')))
insert @t values ('OK') -- No error, case insensitive by default
go
declare @t table (state varchar(4) collate SQL_Latin1_General_CP1_CS_AS
check (state in ('ok', 'computer')))
insert @t values ('OK') -- The INSERT statement conflicted with the CHECK constraint
Run Code Online (Sandbox Code Playgroud)
请注意SQL_Latin1_General_CP1_ CS _AS 中的CS,它代表区分大小写.AS代表Accent Sensitive.
| 归档时间: |
|
| 查看次数: |
2905 次 |
| 最近记录: |