【发布时间】:2014-03-03 12:47:50
【问题描述】:
我可以在 sql 中为 int 列使用 FOR XML PATH 吗? 这样我就可以将其用于以下用途:
declare @contactIds = (select id from contacts)
然后像这样使用它:
select * from calls where contactId in (@contactIds)
有可能吗?
【问题讨论】:
-
您的意思是您希望将一组 ID 存储在一个变量中,以便稍后在查询的 WHERE 子句中使用它?您可以使用临时表来做到这一点。
-
如果
@contactIds是一个字符串(如果你使用FOR XML PATH,那么SQL 将不会检查该字符串的内容,查找逗号,然后决定处理那个单个 字符串,就好像它实际上是IN()的几个单独 参数。我不知道有什么语言可以做到这一点,所以当人们尝试这样做时,我总是感到惊讶用 SQL 来做。
标签: sql sql-server for-xml-path