O bom da variante sql é que você pode armazenar vários tipos em uma coluna e manter as informações do tipo.
Se você deseja recuperar o tipo:
select SQL_VARIANT_PROPERTY ( value , 'BaseType' ) as DataType,* from mysettings
e você tem:
Datatype Name Value
-----------------------------
varchar Name MyName
int ShoesNumber 45
numeric MyDouble 31.32
Infelizmente, isso tem várias desvantagens:
- não muito rápido
- não é bem suportado por estruturas ORM