Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy istnieją jakieś korzyści z używania sql_variant nad varchar w SQL Server?

Dobrą rzeczą w wariancie sql jest to, że możesz przechowywać kilka typów w kolumnie i zachować informacje o typie.

Jeśli chcesz pobrać typ:

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

i masz:

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

Niestety ma to kilka wad:

  1. niezbyt szybko
  2. nie jest dobrze obsługiwane przez frameworki ORM


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL NIE W klauzuli

  2. Dlaczego podzapytanie wewnątrz rekurencyjnej konkatenacji ciągów zawsze zwraca NULL?

  3. jak wpisać ip w zapytaniu linked server

  4. Korzystanie z programu LAG programu SQL Server 2012

  5. Czy mogę oddzielić przecinkami wiele wierszy w jednej kolumnie?