Lo bueno de la variante sql es que puede almacenar varios tipos en una columna y conserva la información del tipo.
Si desea recuperar el tipo:
select SQL_VARIANT_PROPERTY ( value , 'BaseType' ) as DataType,* from mysettings
y tienes:
Datatype Name Value
-----------------------------
varchar Name MyName
int ShoesNumber 45
numeric MyDouble 31.32
Desafortunadamente, esto tiene varios inconvenientes:
- no muy rápido
- no es compatible con marcos ORM