동적쿼리를 작성할때
declare @tbl_name varchar(20) declare @query nvarchar(512) declare @f3 int
set @query = ' SELECT f1
, f2 FROM ' + @tbl_name + ' WHERE f3 = ' + @f3
이런식으로 하면
@f3이 int형이라 @query를 int형으로 변환할 수 없다고 하고 에러가 나네요.
어떻게 해결하면 좋을까요?
convert 함수를 사용하셔서, 형 변환을 하시면 됩니다.
set @query = 'SELECT f1
, f2FROM ' + @tbl_name + 'WHERE f3 = ' + convert(NVARCHAR(10),@f3);