【发布时间】:2011-07-05 15:51:51
【问题描述】:
Sql Server 中有类似 printf 的函数吗?我想要与 RAISERROR 函数相同的功能,但我不想抛出错误或打印消息,而是想将其写入 varchar,因为我的 ERP 不允许我处理错误消息.
这是 SQL Server 2000。
RAISERROR 的实际工作示例:
declare @name varchar(10)
set @name = 'George'
RAISERROR ('Hello %s.', 10, 1, 'George')
打印Hello George
我在寻找什么:
declare @name varchar(10), @message varchar(50)
set @name = 'George'
SET @message = printf('Hello %s.', 'George')
return @message
这将返回Hello George
【问题讨论】:
-
大多数工具不会将
RAISERROR返回的严重程度为 10 或更低的消息视为实际错误 - 你的呢? -
不,它没有,但它仍然不会让我处理消息,即把它放入一个变量中而不是显示给用户。
-
您是否测试过它允许您访问
PRINT消息?如果是这样,严重性为 0 的RAISERROR应该是相同的 AFAIK。根据 erland sommarskog PRINT is just a shortcut for RAISERROR with level 0. -
我不想打印它。我想将它的值写入一个变量。我将编辑问题以使其更清楚。
标签: sql-server sql-server-2000