私は単純なSQLクエリを持っていますが、入力パラメータは複数の値の文字列です。私はこれが動作するようにしようとしていますが、多分私の構文がオフまたはこれのようなことはできません? @Cat = '13+14+15'
とCatID
SQLで選択して変換することはできますか?
SELECT *
FROM Table
WHERE CatID IN
(SELECT CONVERT(TINYINT,value) FROM STRING_SPLIT(@Cat,'+'))
型TINYINTです。私も運が無ければCONVERT(TINYINT,*)
を使ってみました。 以前は次のコードを使用していましたが、他の複雑な問題のために切り替えようとしていました。
SELECT *
FROM Table
WHERE CatID IN
(CONVERT(NVARCHAR, CatID) IN (SELECT * FROM STRING_SPLIT(@Cat,'+'))
これを行う別の方法がある場合は、私は提案に公開しています。多分整数に直接分割するのでしょうか?ありがとう!
どのようなエラーが表示されますか? –
私はお詫びします。コードは期待どおりに動作しています。 – MuffinMan