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'或'('