CREATE TABLE SQL_VARIANT_dt (a sql_variant)
prepst#!# INSERT INTO SQL_VARIANT_dt(a) values(@a) #!#SQL_VARIANT-int|-|a|-|0
prepst#!#exec#!#SQL_VARIANT-INT|-|a|-|-100
prepst#!#exec#!#SQL_VARIANT-MONEY|-|a|-|122.100
prepst#!#exec#!#SQL_VARIANT-REAL|-|a|-|123.45
prepst#!#exec#!#SQL_VARIANT-SMALLINT|-|a|-|60
prepst#!#exec#!#SQL_VARIANT-BIT|-|a|-|0
prepst#!#exec#!#SQL_VARIANT-BINARY|-|a|-|6789
prepst#!#exec#!#SQL_VARIANT-FLOAT|-|a|-|1234.56
prepst#!#exec#!#SQL_VARIANT-SMALLMONEY|-|a|-|78.56
prepst#!#exec#!#numeric|-|a|-|123.456|-|5|-|2
prepst#!#exec#!#SQL_VARIANT-INT|-|a|-|<NULL>
SELECT * FROM SQL_VARIANT_dt;
drop table SQL_VARIANT_dt;
CREATE TABLE SQL_VARIANT_dt (a sql_variant)
INSERT INTO SQL_VARIANT_dt(a) values(cast (1 as bit))
INSERT INTO SQL_VARIANT_dt(a) values(cast (6 as tinyint))
INSERT INTO SQL_VARIANT_dt(a) values(cast (60 as smallint))
INSERT INTO SQL_VARIANT_dt(a) values(cast (600 as int))
INSERT INTO SQL_VARIANT_dt(a) values(cast (60000 as bigint))
INSERT INTO SQL_VARIANT_dt(a) values(cast (600.00 as real))
INSERT INTO SQL_VARIANT_dt(a) values(cast (60000.00 as float))
INSERT INTO SQL_VARIANT_dt(a) values(cast (700.00 as smallmoney))
INSERT INTO SQL_VARIANT_dt(a) values(cast (70000.00 as money))
INSERT INTO SQL_VARIANT_dt(a) values(cast (123.45 as numeric(5, 2)))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('abc' as char(10)))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('abc' as nchar(10)))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('abc' as varchar(10)))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('abc' as nvarchar(10)))
INSERT INTO SQL_VARIANT_dt(a) values(cast (123 as binary(10)))
INSERT INTO SQL_VARIANT_dt(a) values(cast (123 as varbinary(10)))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('1968-12-13' as date))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('1968-12-13 14:37:45.123' as smalldatetime))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('1968-12-13 14:37:45.123' as datetime))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('1968-12-13 14:37:45.123456' as datetime2(4)))
INSERT INTO SQL_VARIANT_dt(a) values(cast ('14:37:45.123456' as time(5)))
SELECT * FROM SQL_VARIANT_dt;
Drop table SQL_VARIANT_dt;
prepst#!# select @a #!#SQL_VARIANT-int|-|a|-|<NULL>
CREATE PROCEDURE temp_sql_variant @a sql_variant OUTPUT AS SELECT @a; END;
#storedproc#!#prep#!#temp_sql_variant#!#SQL_VARIANT-INT|-|a|-|<NULL>