Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gibt es Vorteile bei der Verwendung von sql_variant gegenüber varchar in SQL Server?

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:

  1. nicht sehr schnell
  2. nicht gut von ORM-Frameworks unterstützt