最小长度限制,防止在列中插入空格

时间:2018-12-21 18:44:35

标签: sql sql-server

我有一列,最小长度为2个字符。我添加了一个约束。但是,根据需要允许有空格。 SQL Server不允许我使用此约束插入空格。

我尝试使用DATALENGTH作为约束而不是LEN,但我认为DATALENGTH是Oracle语法。

create table temp (field varchar(10));

ALTER TABLE temp WITH CHECK 
    ADD CONSTRAINT [CK_FIELD_MIN_LENGTH_MIN_2] CHECK ((len([field])>=(2)))

当我尝试插入空格时出现错误。

INSERT INTO temp values ('  ');
  

错误:INSERT语句与CHECK约束冲突   “ CK_FIELD_MIN_LENGTH_MIN_2”。数据库中发生了冲突   “ EDIX125010”,表“ dbo.temp”,列“字段”。

如何满足最小字符数和允许空格的要求?

我不认为这是重复的,因为其他示例用于SELECT语句(试图检索数据)。我的问题是关于INSERT INTO。

0 个答案:

没有答案