sql >> Database >  >> RDS >> Sqlserver

Zijn er voordelen aan het gebruik van sql_variant over varchar in SQL Server?

Het goede aan de sql-variant is dat je meerdere typen in een kolom kunt opslaan en je de type-informatie behoudt.

Als u het type wilt ophalen:

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

en je hebt:

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

Helaas heeft dit een aantal nadelen:

  1. niet erg snel
  2. niet goed ondersteund door ORM-frameworks


  1. Kan geen zoekopdrachten zoeken in de MySQL-tabel

  2. Hoe de kolom te vinden die in de dynamische query wordt gebruikt zonder de hele query uit te voeren?

  3. Hoe voer je een ad-hocscript uit in PostgreSQL?

  4. MySQL - ontploffen/splitsen van invoer naar opgeslagen procedure