Randolph West answers one of the mysteries in life:
By a show of hands, who uses the
sql_variant
data type? In my experience the answer is “no one,” and that’s not necessarily a bad thing. There’s a general philosophy in our industry where we assume that columns are a specific data type. This predictability makes writing queries and applications against those columns easier. It’s difficult enough dealing withNULL
values, so adding confusion with handling data conversions is an invitation to introduce bugs.
The sql_variant
data type is a bit of a relic. I think the people who used that were also big variant data type users in Visual Basic. Nonetheless, Randolph clarifies how SQL Server stores this data.