【发布时间】:2021-11-01 22:12:20
【问题描述】:
我有从需要作为字符串输入并填充的参数传递的整数值,以便它们是 7 位数字。然后将其传递给另一个查询。
declare @t table(ctl_num int)
insert into @t values(5675, 45464, 2323)
declare @control_num varchar(500)
set @control_num = (select stuff((select ',' + right('000' + cast(ctl_num as varchar),7)
from @t
FOR XML PATH('')),1, 1', ''))
此代码将 @control_num 设置为 ('0005675, 0045464, 0002323')。我需要将其作为 ("0005675", "0045464", "0002323") 传递。
我在网上查看了其他示例,但似乎无法使其正常工作。有谁知道如何在每个值周围加上双引号?
【问题讨论】:
-
仅供参考,您应该真正检查您的 DDL 和 DML 语句在发布之前。您将
@t定义为单列表变量,然后尝试向其中插入三个 列,导致语句失败。
标签: sql sql-server string parameter-passing stuff