我打印出一堆动态创建的 DDL 语句,并希望以特定方式对齐输出。
PRINT 'ALTER TABLE ' + @TableName + ' WITH NOCHECK ADD CONSTRAINT CK_' + @TableName + '_' + @ColumnName + '_MinimumLength CHECK (LEN(' + @ColumnName + ') > 0)'
输出:
ALTER TABLE SignType ADD CONSTRAINT CK_SignType_Description_MinimumLength CHECK (LEN(Description) > 0)
ALTER TABLE Person ADD CONSTRAINT CK_Person_Name_MinimumLength CHECK (LEN(Name) > 0)
我想要的输出是:
ALTER TABLE SignType WITH NOCHECK ADD CONSTRAINT CK_SignType_Description_MinimumLength CHECK (LEN(Description) > 0)
ALTER TABLE Person WITH NOCHECK ADD CONSTRAINT CK_Person_Name_MinimumLength CHECK (LEN(Name) > 0)
是否有一个函数可以让我用字符 x 的 n 来填充字符串。我会这样使用它:
PRINT 'ALTER TABLE ' + @TableName + PAD(' ', 50 - LEN(@TableName)) + ' WITH NOCHECK ADD CONSTRAINT .....'
谢谢
最佳答案
我相信您想要的是从 SQL 2005 开始可用的 REPLICATE
函数。
PRINT 'ALTER TABLE ' + @TableName + REPLICATE(' ', 50 - LEN(@TableName)) + ' WITH NOCHECK ADD CONSTRAINT .....'
关于sql - sql中的字符串填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1890015/