:私たちは、このような配列とではないとの回答を得た方法ここでは意味ですか?
これは配列ではありません。コンマで区切られた文字列です。変数@EmployeeIds
に複数回割り当てて生成されました。 tblEmployee
の各行に対して1回、WHERE
句と一致するものが1回あります。
@EmployeeIds
は、最初はnullです。最初の行が発生した最初の行の後1
で1
@EmployeeIds= ISNULL (@EmployeeIds + ',', '') + CAST(ID AS VARCHAR(5))
≡ @EmployeeIds= ISNULL (NULL + ',', '') + '1' /*Substituting in variable and column values*/
≡ @EmployeeIds= ISNULL (NULL, '') + '1'
≡ @EmployeeIds= '' + '1'
だから@EmployeeIdsのIDを有しています。
2行目処理等ID
3
の
@EmployeeIds= ISNULL (@EmployeeIds + ',', '') + CAST(ID AS VARCHAR(5))
≡ @EmployeeIds= ISNULL ('1' + ',', '') + '3' /*Substituting in variable and column values*/
≡ @EmployeeIds= ('1' + ',') + '3'
≡ @EmployeeIds= '1,3'
とを有しています。これは、文字列連結への保証されたアプローチではありません。それは失敗する可能性があり、失敗し、特にマイクロソフトから警告されています。
Some example warnings
将来のバージョンでは、STRING_AGG
機能が含まれます。今のところ最良の選択肢はXML PATH
あなたは何をしようとしていますか?それは何を返すと思いますか? – Soviut