вторник, 26 марта 2013 г.

Как в переменной или столбце хранить значения разных типов


DECLARE @VAR SQL_VARIANT = 1 -- Содержит число
SELECT
    @VAR AS tValue
    ,SQL_VARIANT_PROPERTY(@VAR, 'BaseType') AS tType
    ,DATALENGTH(@VAR) AS tLen
--tValue     tType    tLen
--1          int      4

SET @VAR = N'Строка' -- Содержит строку
SELECT
    @VAR AS tValue
    ,SQL_VARIANT_PROPERTY(@VAR, 'BaseType') AS tType
    ,DATALENGTH(@VAR) AS tLen
--tValue     tType        tLen
--Строка     nvarchar 12