我希望按SQL Server 2005中的字段定义数据类型。我的源是Excel电子表格,我不能按列定义,因为每行需要一组应用于该行中每个字段的定义。例如,第1行要求field1为CHAR,而在第2行中,第1行需要为DATE。有什么建议?提前谢谢。
答案 0 :(得分: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