【发布时间】:2017-03-05 17:15:20
【问题描述】:
我有一个简单的 SQL 查询,但输入参数是一个包含多个值的字符串。我正在尝试让它工作,但也许我的语法已关闭或者不可能像这样?
SELECT *
FROM Table
WHERE CatID IN
(SELECT CONVERT(TINYINT,value) FROM STRING_SPLIT(@Cat,'+'))
其中@Cat = '13+14+15' 和CatID 是tinyint 类型。我也尝试过使用CONVERT(TINYINT,*),但没有运气。
以前我使用以下代码,但由于其他复杂性而希望切换它。
SELECT *
FROM Table
WHERE CatID IN
(CONVERT(NVARCHAR, CatID) IN (SELECT * FROM STRING_SPLIT(@Cat,'+'))
如果有其他方法可以做到这一点,我愿意接受建议,也许以某种方式直接拆分成整数?谢谢!
【问题讨论】:
-
你遇到了什么错误?
-
抱歉,错误出现在上游其他地方。代码似乎按预期工作。
标签: sql sql-server tsql sql-server-2016