Array를 WHERE 조건에 넣어야 했다. Array를 ',' 기준으로 구분한 뒤 하나씩 WHERE 조건에 넣는 방법도 생각했으나, 이 경우 SELECT 문을 여러 번 실행해야 할 뿐 아니라, ORDER BY 가 원하는 대로 실행되지 않을 것이라 판단해 다른 방법을 강구하였다.
STRING_SPLIT 함수는 특정 구분자를 기준으로 string을 분리해, 테이블 형식으로 반환해주는 함수이다.
1. 'A,B,C' 호출
DECLARE @ARRAY VARCHAR(100) = 'A,B,C'
SELECT @ARRAY
2. 'A,B,C' 를 ',' 기준으로 구분해 호출
SELECT * FROM STRING_SPLIT(@ARRAY, ',')
버전 때문에 STRING_SPLIT 함수 사용이 안되는 거인 줄 알았는데, 내가 사용을 잘못한 거였다.
WHERE 컬럼명 = STRING_SPLIT(@ARRAY, ',')
테이블 형식으로 반환해주기 때문에 위와 같이 사용할 경우 에러가 발생한다.