La bonne chose à propos de sql variant est que vous pouvez stocker plusieurs types dans une colonne et que vous conservez les informations de type.
Si vous souhaitez récupérer le type :
select SQL_VARIANT_PROPERTY ( value , 'BaseType' ) as DataType,* from mysettings
et vous avez :
Datatype Name Value
-----------------------------
varchar Name MyName
int ShoesNumber 45
numeric MyDouble 31.32
Malheureusement, cela présente plusieurs inconvénients :
- pas très rapide
- pas bien pris en charge par les frameworks ORM