Udostępnij za pomocą


Pierwszeństwo typu danych (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Gdy operator łączy wyrażenia różnych typów danych, typ danych o niższym pierwszeństwie jest najpierw konwertowany na typ danych o wyższym prioryencie. Jeśli konwersja nie jest obsługiwaną niejawną konwersją, zwracany jest błąd. W przypadku operatora łączącego wyrażenia operandu o tym samym typie danych wynik operacji ma ten typ danych.

Program SQL Server używa następującej kolejności pierwszeństwa dla typów danych:

  1. typy danych zdefiniowane przez użytkownika (najwyższa)
  2. json
  3. sql_variant
  4. xml
  5. datetimeoffset
  6. datetime2
  7. datetime
  8. smalldatetime
  9. date
  10. time
  11. float
  12. real
  13. decimal
  14. money
  15. smallmoney
  16. bigint
  17. int
  18. smallint
  19. tinyint
  20. bit
  21. ntext
  22. text
  23. image
  24. timestamp
  25. uniqueidentifier
  26. nvarchar, w tym nvarchar(max)
  27. nchar
  28. varchar, w tym varchar(max)
  29. char
  30. varbinary, w tym varbinary(max)
  31. Binarny (najniższy)