明示的な変換

SQL Serverでのデータ操作のための関数

Ana Voicu

Data Engineer

暗黙的変換と明示的変換

  • 暗黙的:自動で実行(裏側で)
  • 明示的CAST()CONVERT() で実行
    • CAST()CONVERT() はデータ型を相互に変換します
SQL Serverでのデータ操作のための関数

CAST()

CAST(expression AS data_type [(length)])  
SELECT 
     CAST(3.14 AS int) AS DECIMAL_TO_INT,
     CAST('3.14' AS decimal(3,2)) AS STRING_TO_DECIMAL,
     CAST(GETDATE() AS nvarchar(20)) AS DATE_TO_STRING,
     CAST(GETDATE() AS float) AS DATE_TO_FLOAT;
| DECIMAL_TO_INT | STRING_TO_DECIMAL | DATE_TO_STRING     | DATE_TO_FLOAT    |
|----------------|-------------------|--------------------|------------------|
| 3              | 3.14              | Apr 11 2019 1:01PM | 43531.7052687886 |
SQL Serverでのデータ操作のための関数

CONVERT()

CONVERT(data_type [(length)], expression [,style])  
SELECT 
     CONVERT(int, 3.14) AS DECIMAL_TO_INT,
     CONVERT(decimal(3,2), '3.14') AS STRING_TO_DECIMAL,
     CONVERT(nvarchar(20), GETDATE(), 104) AS DATE_TO_STRING,
     CONVERT(float, GETDATE()) AS DATE_TO_FLOAT;
| DECIMAL_TO_INT | STRING_TO_DECIMAL | DATE_TO_STRING | DATE_TO_FLOAT    |
|----------------|-------------------|----------------|------------------|
| 3              | 3.14              | 11.04.2019     | 43531.7052687886 |
SQL Serverでのデータ操作のための関数

CAST() と CONVERT() の比較

  • CAST() はSQL標準、CONVERT() はSQL Server固有
  • CAST() は多くのDB製品で利用可能
  • SQL Serverでは CONVERT() の方がわずかに高速
SQL Serverでのデータ操作のための関数

演習に進みましょう!

SQL Serverでのデータ操作のための関数

Preparing Video For Download...