データ型の優先順位 (Transact-SQL)Data type precedence (Transact-SQL)

適用対象: ○SQL Server (2012 以降) XAzure SQL Database XAzure SQL Data Warehouse XParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2012) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

演算子でデータ型が異なる 2 つの式を結合すると、データ型の優先順位の規則によって、優先順位の低いデータ型を優先順位の高いデータ型に変換することが指定されます。When an operator combines two expressions of different data types, the rules for data type precedence specify that the data type with the lower precedence is converted to the data type with the higher precedence. 暗黙的な変換がサポートされていない場合は、エラーが返されます。If the conversion is not a supported implicit conversion, an error is returned. 両方のオペランド式が同じデータ型の場合は、演算の結果も同じデータ型になります。When both operand expressions have the same data type, the result of the operation has that data type.

SQL ServerSQL Server では、次のデータ型の優先順位が使用されます。 uses the following precedence order for data types:

  1. ユーザー定義データ型 (最高)user-defined data types (highest)
  2. sql_variantsql_variant
  3. xmlxml
  4. datetimeoffsetdatetimeoffset
  5. datetime2datetime2
  6. datetimedatetime
  7. smalldatetimesmalldatetime
  8. datedate
  9. timetime
  10. floatfloat
  11. realreal
  12. decimaldecimal
  13. moneymoney
  14. smallmoneysmallmoney
  15. bigintbigint
  16. intint
  17. smallintsmallint
  18. tinyinttinyint
  19. bitbit
  20. ntextntext
  21. texttext
  22. imageimage
  23. timestamptimestamp
  24. uniqueidentifieruniqueidentifier
  25. nvarchar (nvarchar(max) など)nvarchar (including nvarchar(max) )
  26. ncharnchar
  27. varchar (varchar(max) など)varchar (including varchar(max) )
  28. charchar
  29. varbinary (varbinary(max) など)varbinary (including varbinary(max) )
  30. binary (最低)binary (lowest)

参照See also

データ型 (Transact-SQL)Data Types (Transact-SQL)
式 (Transact-SQL)Expressions (Transact-SQL)
CAST および CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)