2011-05-05 4 views
1

SQL Server 2005의 필드를 기준으로 데이터 형식을 정의하려고합니다. 내 원본은 Excel 스프레드 시트이며 각 행마다 각각의 정의가 적용되어야하기 때문에 열을 정의 할 수 없습니다 필드에. 예를 들어, 행 1은 field1이 CHAR이고 행 2에서는 필드 1이 DATE 일 필요가 있습니다. 어떤 제안? 미리 감사드립니다.필드가 아닌 SQL Server에서 데이터 형식 정의 열

+2

"필드"는 사용하고있는 상황의 의미는 무엇입니까? 엑셀 "셀"을 말하는 겁니까? SQL Server에서는 열이 특정 데이터 형식이어야합니다. 각각을 공통 데이터 유형 (예 : VarChar)으로 변환하지 않으면 열의 한 행을 날짜로, 같은 열의 다음 행을 정수로 사용할 수 없습니다. –

답변

1

sql_variant 열을 사용하여 모든 데이터 형식을 저장할 수 있습니다. Excel 날짜, 문자열 및 숫자를 동일한 SQL Server 열에 저장할 수 있습니다. sql_variant 컬럼은 정밀도의 손실없이 모든 SQL 데이터 유형의 값을 포함 할 수 있습니다.

CREATE TABLE Sheet 
(
    RowNumber int NOT NULL, 
    ColumnLetter varchar(5) NOT NULL, 
    FieldValue sql_variant NULL, 
    PRIMARY KEY (RowNumber, ColumnLetter) 
) 
INSERT Sheet SELECT 1, 'A', 'Values' 
INSERT Sheet SELECT 2, 'A', GETDATE() 
INSERT Sheet SELECT 3, 'A', 123 
INSERT Sheet SELECT 4, 'A', 123.00 
관련 문제