SQL占位符

SQL占位符,sql,sql-server,Sql,Sql Server,因此,在transact-SQL中,我似乎可以在我的RAISEERROR中用作占位符%d,就像C。。。但是%d真正代表什么呢?还有其他类似的占位符吗?这是MSDN文档中的占位符 通常,连续参数替换连续转换规范;第一个参数替换第一个转换规范,第二个参数替换第二个转换规范,依此类推。例如,在下面的RAISERROR语句中,N'number'的第一个参数替换了%s的第一个转换规范;第二个参数5替换了第二个转换规范%d 正如您提到的,这类似于C string.Formattext{0},这里是其他C函数

因此,在transact-SQL中,我似乎可以在我的RAISEERROR中用作占位符%d,就像C。。。但是%d真正代表什么呢?还有其他类似的占位符吗?

这是MSDN文档中的占位符

通常,连续参数替换连续转换规范;第一个参数替换第一个转换规范,第二个参数替换第二个转换规范,依此类推。例如,在下面的RAISERROR语句中,N'number'的第一个参数替换了%s的第一个转换规范;第二个参数5替换了第二个转换规范%d


正如您提到的,这类似于C string.Formattext{0},这里是其他C函数的示例

请参阅文档。基本上,这个类型规范表示d或i有符号整数o无符号八进制s字符串u无符号整数x或x无符号十六进制?知道什么是无符号八进制吗?难道没有一个占位符不在乎它是一个字符还是一个整型或其他的吗?像c?这只是一篇懒散的帖子。几乎没有做过研究。你以前写过代码吗?C、 C+?OP如何不知道RaISError使用户能够模仿C++中的打印命令或C中的COUT命令?做研究而不是浪费我们和你的时间。
 RAISERROR (N'This is message %s %d.', -- Message text.  
       10, -- Severity,  
       1, -- State,  
       N'number', -- First argument.  
       5); -- Second argument.  
-- The message text returned is: This is message number 5.  
GO