Explicit conversion ": "顯式轉換

SQL Server 的資料操作函式

Ana Voicu

Data Engineer

Implicit and explicit conversion ": "隱式與顯式轉換

  • IMPLICIT - 自動、在幕後執行
  • EXPLICIT - 以 CAST()CONVERT() 執行
    • CAST()CONVERT() 用於在不同資料型別間轉換
SQL Server 的資料操作函式

CAST() ": "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()

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() vs. CONVERT() ": "CAST() vs. CONVERT()

  • CAST() 來自 SQL 標準,CONVERT() 為 SQL Server 特有
  • 多數資料庫產品都支援 CAST()
  • 在 SQL Server 中,CONVERT() 效能略佳
SQL Server 的資料操作函式

Let's practice! ": "一起來練習吧!

SQL Server 的資料操作函式

Preparing Video For Download...