当我阅读 MSDN raiserror 示例时:

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

为什么文档使用 %s 来指定 N'number'%d 来指定 5 -- 第二个参数

MSDN 是这样写的:



我的问题是:如何解释呢?为什么不使用其他像 %a%b 。任何其他 %+apha 都可以替换它。
我只是想得到一个有意义的理解。

最佳答案

这表示参数数据类型。

+--------------------+----------------------+
| Type specification |      Represents      |
+--------------------+----------------------+
| d or i             | Signed integer       |
| o                  | Unsigned octal       |
| s                  | String               |
| u                  | Unsigned integer     |
| x or X             | Unsigned hexadecimal |
+--------------------+----------------------+
N'number' 是一个 nvarchar 字符串文字。所以得到 %s 说明符。文字 5 是一个带符号的指示符,因此由 %d 表示。

至于这些说明符的原因。这记录在 RAISERROR 主题中

关于sql raiserror 指定参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19477547/

10-13 08:57