SQL Server中的精确长度列

Mik*_*ynn 4 database sql-server check-constraints

有没有办法让列具有完全如此多的字符?我有一个152个字符的字符串,并希望列只接受长度为152的值,而不是151,而不是153.我知道char可以处理溢出,但最小版本呢?

Tim*_*sen 7

添加一个检查约束,该约束声明传入字符串的长度正好是152个字符:

ALTER TABLE [dbo].[YourTable] WITH CHECK
ADD CONSTRAINT [cnstr] CHECK (LEN(LTRIM([col])) = 152);
Run Code Online (Sandbox Code Playgroud)

  • @SeanLange正如关于你的评论所提到的那样,`LEN`会自动将空格向右倾斜,因此`CHAR`列只需要`LTRIM`.[见这里](http://rextester.com/DWLI18062)进行演示. (2认同)