Das Gute an SQL Variant ist, dass Sie mehrere Typen in einer Spalte speichern können und die Typinformationen behalten.
Wenn Sie den Typ abrufen möchten:
select SQL_VARIANT_PROPERTY ( value , 'BaseType' ) as DataType,* from mysettings
und Sie haben:
Datatype Name Value
-----------------------------
varchar Name MyName
int ShoesNumber 45
numeric MyDouble 31.32
Leider hat dies mehrere Nachteile:
- nicht sehr schnell
- nicht gut von ORM-Frameworks unterstützt