서수 위치를 기반으로 열 데이터를 선택하는 것은 일반적으로 권장되지 않지만 특정 시나리오에서는 사용이 필요할 수 있습니다. 이 질문은 SQL Server에서 그러한 선택의 가능성을 탐구합니다.
질문:
테이블 열의 서수 위치를 사용하여 열 데이터를 검색할 수 있습니까? 예를 들어, 다음 테이블을 고려하십시오.
create table Test( Col1 int, Col2 nvarchar(10) )
열 이름을 사용하여 선택하는 대신:
select Col2 from Test
다음과 같이 쓸 수 있습니다:
select "2" from Test -- for illustration purposes only
답변:
SQL Server는 기본적으로 열 선택을 지원하지 않지만 순서 위치에서는 데카르트 곱 연산을 활용하여 해결 방법을 얻을 수 있습니다.
select NULL as C1, NULL as C2 where 1 = 0 -- Returns empty table with predefined column names union all select * from Test -- There should be exactly 2 columns, but names and data type doesn't matter
이렇게 하면 테스트의 열 수와 일치하는 두 개의 열([C1] 및 [C2])이 있는 테이블이 생성됩니다. 테이블. 이 데카르트 곱의 두 번째 열을 선택하면 테스트 테이블의 두 번째 열에서 데이터를 효과적으로 검색할 수 있습니다.
이 방법은 열 수가 미리 정의된 테이블에만 실용적입니다. 열 수가 많은 테이블에 이 방법을 사용하면 비효율적이고 오류가 발생하기 쉽습니다.
위 내용은 SQL Server가 서수 위치를 사용하여 열 데이터를 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!