sql >> Databasteknik >  >> RDS >> Sqlserver

Finns det några fördelar med att använda sql_variant över varchar i SQL Server?

Det som är bra med sql-varianten är att du kan lagra flera typer i en kolumn och du behåller typinformationen.

Om du vill hämta typen:

select SQL_VARIANT_PROPERTY ( value , 'BaseType' ) as DataType,* from mysettings

och du har:

Datatype Name          Value
-----------------------------
varchar  Name          MyName
int      ShoesNumber   45
numeric  MyDouble      31.32

Tyvärr har detta flera nackdelar:

  1. inte särskilt snabbt
  2. stöds inte väl av ORM-ramverk


  1. Lagrar Oracle efterföljande nollor för nummerdatatyp?

  2. Om skapa tabell som välj (CTAS)

  3. Hur man ekar utskriftssatser medan man kör ett sql-skript

  4. frågeoptimering - 'where not in' på mig själv