La cosa buona della variante sql è che puoi memorizzare diversi tipi in una colonna e mantenere le informazioni sul tipo.
Se vuoi recuperare il tipo:
select SQL_VARIANT_PROPERTY ( value , 'BaseType' ) as DataType,* from mysettings
e hai:
Datatype Name Value
-----------------------------
varchar Name MyName
int ShoesNumber 45
numeric MyDouble 31.32
Sfortunatamente questo ha diversi inconvenienti:
- non molto veloce
- non ben supportato dai framework ORM