c# - 在 SQL Server 中使用占位符格式化字符串,就像在 C# 中一样

标签 c# sql-server

我需要将通用消息存储在 SQL Server 表中,然后获取值并在存储过程中使用它们,例如“亲爱的约翰”,我希望能够插入在程序中获得的任何名称,而不是“约翰”。在 C# 中,如果我像这样存储文本:“Dear {0}”,那么我可以轻松地对其进行格式化:string.Format(myString, name)。除了 REPLACE 之外,我还能在 SQL Server 中执行类似的操作吗?我听说过在 SQL Server 中使用 CLR 之类的东西,但不知道它是否或如何工作。实现我的需求的最佳方法是什么?

你能帮忙吗?

谢谢。

最佳答案

xp_sprintf可能就是您正在寻找的:

DECLARE @ret_string varchar (255)
EXEC Master.DBO.xp_sprintf @ret_string OUTPUT, '(%s, %s)', 'Hello', 'World'
PRINT @ret_string

输出(Hello,World)

关于c# - 在 SQL Server 中使用占位符格式化字符串,就像在 C# 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943013/

相关文章:

c# - 嵌套 View 模型未使用 DataAnnotations 从 .net 中的单元测试进行验证

r - R : invalid object name 中的 dbReadTable 错误

c# - 从从 .txt 读取的行中获取特定单词

c# - ASP.NET MVC 子目录

c# - WCF:客户端配置中的契约(Contract) 'X' 与服务契约(Contract)中的名称不匹配

sql-server - 数据库托管,从 RPi python 控制台控制

sql-server - 是否可以同时向多个表添加列?

php - 用户 'domain\name'登录失败

sql - UPDATE 语句包含在 IF EXISTS block 中

c# - 为什么复制流然后使用 BinaryFormatter 反序列化比仅仅反序列化更快