Sql server 2008 使用ltrim和rtrim函数检查sql server 2008中的约束

Sql server 2008 使用ltrim和rtrim函数检查sql server 2008中的约束,sql-server-2008,Sql Server 2008,我使用下面的代码在CreatID列上添加约束。但它不起作用。我仍然可以添加像'xyz'这样的文本,但我不想这样做。此外,如果文本中只有空格,则应将其视为'null'值。比如,如果我输入'这个,那么它应该被视为空值 ALTER TABLE [dbo].[OneC_Gadget_AppDetails] WITH CHECK ADD CONSTRAINT [chk_CreateID_val] CHECK ((len(ltrim(rtrim([AppActionContent]

我使用下面的代码在
CreatID
列上添加约束。但它不起作用。我仍然可以添加像
'xyz'
这样的文本,但我不想这样做。此外,如果文本中只有空格,则应将其视为
'null'
值。比如,如果我输入
'
这个,那么它应该被视为空值

ALTER TABLE [dbo].[OneC_Gadget_AppDetails]  WITH CHECK 
    ADD  CONSTRAINT [chk_CreateID_val] 
    CHECK  ((len(ltrim(rtrim([AppActionContent])))>(1)))

我认为条件应该是:
CHECK len(ltrim(rtrim(AppActionContent))=len(AppActionContent)
@Mahmoud:你是对的,
DATALENGTH(ltrim(rtrim(AppActionContent))=DATALENGTH(AppActionContent)
应该用来检查前导空格和尾随空格,确保字段中至少有2个非空格字符。@ypercube:它尝试了此操作,但在'len'/'datalenghth'附近出现了-不正确的语法错误。@ypercube:nop..它为ltrim提供了不同的错误,如不正确的语法需要选择,AppAction内容需要不正确的语法需要选择,而为len提供了不需要'u'或'('