我需要在SQL Server表中存储通用消息,然后获取值并在存储过程中使用它们,例如: “亲爱的约翰”,而不是“约翰”,我希望能够插入在程序中获得的任何名称。在C#中,如果我存储了这样的文本:“亲爱的{0}”,我可以轻松地格式化它:string.Format(myString,name)。除了REPLACE之外,我可以在SQL Server中做这样的事情吗?我听说过在SQL Server中使用CLR,但不知道它是否或如何工作。达到我需要的最佳方式是什么?
你能帮忙吗?
感谢。
答案 0 :(得分:2)
xp_sprintf可能是您正在寻找的内容:
DECLARE @ret_string varchar (255)
EXEC Master.DBO.xp_sprintf @ret_string OUTPUT, '(%s, %s)', 'Hello', 'World'
PRINT @ret_string
输出(Hello, World)