것은 I 플로트 값 테이블 작업 합니다만, 파라미터에 의해 열을 입력매개 변수 "SELECT AVG (@ 매개 변수)"SQL과 함께 SELECT AVG를 사용하십시오!
SELECT AVG 단언 AS I는 (파라미터) I 열 이름을 입력하면
ListVal
FROM (@var) 오류가 발생합니다. 데이터 유형 nvarchar가 평균 연산자에 유효하지 않습니다. 그러나 모든 기둥은 부유합니다.도움말 !!! 제발
것은 I 플로트 값 테이블 작업 합니다만, 파라미터에 의해 열을 입력매개 변수 "SELECT AVG (@ 매개 변수)"SQL과 함께 SELECT AVG를 사용하십시오!
SELECT AVG 단언 AS I는 (파라미터) I 열 이름을 입력하면
ListVal
FROM (@var) 오류가 발생합니다. 데이터 유형 nvarchar가 평균 연산자에 유효하지 않습니다. 그러나 모든 기둥은 부유합니다.도움말 !!! 제발
동적 SQL
등을 사용해야합니다.
EXEC('SELECT AVG([' + @var + ']) AS Aver FROM ListVal')
쿼리 매개 변수는 열 이름이 아닌 단일 리터럴 값을 대체합니다. 이것은 표준 SQL 동작이며 RDBMS의 모든 브랜드에서 동일하게 지원됩니다.
그래서 당신은 열 이름을 제공하고이 쿼리를 실행하는 경우로는 다음과 같습니다 의미없는 작업입니다SELECT AVG('columnname') ...
합니다. 문자열의 AVG()
은 무엇입니까?
@Matt Rogish는 answer에서 열 이름 (또는 테이블 이름 또는 다른 SQL 구문)을 동적으로 만드는 유일한 방법은 동적 SQL을 사용하는 것입니다. 즉, 응용 프로그램 변수를 문자열로 보간 한 다음 결과 문자열을 SQL 쿼리로 사용합니다.
쿼리 매개 변수는 단일 스칼라 값만 삽입 할 수 있으며 쿼리에서 매개 변수가 해석되는 방식입니다.
이 SQL Server입니까? –
감탄 부호 (코드 블록 외부)를 사용하는 것은 무례합니다 –