创建具有通用数据类型的列?

Create a column with universal data type?

有没有办法创建具有 "universal" 数据类型的列? 我想要的是每一行可以有不同数据类型的列。

对于每个插入,想法是设置数据类型(nvarchar、int、bigint、float、decimal),然后插入值。

我已经看到 Json 数据类型用于在 Sql 中实现列的可变数据类型,这为您提供了 Sql 通常不提供的灵活性。您可以拥有类型为 Json 的列,然后输入 {"value": myBigInt} 或 {"value": "myVarChar"}.

您可以使用 sql_variant 数据类型来存储各种 SQL 服务器支持的数据类型的值。

CREATE   TABLE tableA(colA sql_variant, colB int)  
INSERT INTO tableA values ( cast (46279.1 as decimal(8,2)), 1689)  
SELECT   SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',  
         SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',  
         SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale'  
FROM      tableA  
WHERE      colB = 1689