一尘不染

如何在NVARCHAR列上限制没有空字符串

sql

NOT NULLNVARCHAR列上添加了约束,因此它不允许任何空值。但不幸的是,SQL Server将NULL空值作为两个单独的值处理!

那么,如何在不向列中插入任何内容时使服务器引发异常?

我正在考虑使用约束检查,但与NVARCHAR列一起使用时未找到任何示例!


阅读 228

收藏
2021-03-17

共1个答案

一尘不染

您可以添加一个检查约束,以确保字符串不为空。

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

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