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

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

加了一个NOT NULL对约束NVARCHAR列,因此不能允许任何空值。但不幸的是,SQLServer处理的是NULL和空值作为两个单独的值!

我是涛我是涛提问于
101th2伪全栈工程师/猫咪lover回答于

使用CHECK约束:

CREATE TABLE SomeTable( 
    SomeColumn VARCHAR(50) NOT NULL CHECK (SomeColumn <> '')
)
tthha真理偏执狂回答于

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

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

ALTER TABLE [dbo].[Foo] WITH CHECK 
ADD  CONSTRAINT [CK_Foo] CHECK  (([bar]<>N''))

扫码关注云+社区

领取腾讯云代金券