如何在NVARCHAR列上不限制空字符串?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (38)

NOT NULL在我的NVARCHAR列上添加一个约束,所以它不能允许任何空值。但不幸的是SQL Server处理NULL和空值作为两个单独的值!

提问于
用户回答回答于

可以添加一个CHECK约束,以确保字符串不是空的。

CREATE TABLE [dbo].[Foo](
    [bar] [nvarchar](50) NOT NULL
)

ALTER TABLE [dbo].[Foo] WITH CHECK 
ADD  CONSTRAINT [CK_Foo] CHECK  (([bar]<>N''))
用户回答回答于

使用CHECK约束:

CREATE TABLE SomeTable( 
    SomeColumn VARCHAR(50) NOT NULL CHECK (SomeColumn <> '')
)

扫码关注云+社区

领取腾讯云代金券