gpt4 book ai didi

sql - T SQL CHECK 允许大写值集的约束

转载 作者:行者123 更新时间:2023-12-03 02:18:49 25 4
gpt4 key购买 nike

我必须使用检查约束在 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)
);

请检查错误并帮助我

最佳答案

默认情况下,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

请注意 SQL_Latin1_General_CP1_CS_AS 中的 CS,它代表区分大小写。 AS 代表重音敏感。

关于sql - T SQL CHECK 允许大写值集的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20452719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com