【SQL】SQL CAST 和 SQL CONVERT 的區別

在SQL中,CAST 函數用來將一個表達式從一種數據類型轉換為另一種數據類型。這對於數據類型轉換非常有用,特別是在進行數據操作和比較時。

CAST 語法

CAST(expression AS data_type)

  • expression 是要轉換的數據。
  • data_type 是目標數據類型。

範例

  1. 將字符串轉換為整數

SELECT CAST(‘123’ AS INT);

這個查詢會返回整數值 123

    2.將整數轉換為字符串

    SELECT CAST(123 AS VARCHAR(10));

    這個查詢會返回字符串’123’。

    3.將日期轉換為字符串

    SELECT CAST(GETDATE() AS VARCHAR(20));

    假設 GETDATE() 返回 2024-05-18 10:20:30.000,那麼這個查詢會返回 '2024-05-18 10:20:30'

    4.將字符串轉換為日期

    SELECT CAST(‘2024-05-18’ AS DATE);

    這個查詢會返回日期值 2024-05-18

    5.將浮點數轉換為整數

    SELECT CAST(123.45 AS INT);

    這個查詢會返回整數值 123,小數部分會被截斷。

    使用 CAST 進行計算

    有時候需要在計算中進行數據類型轉換,這時 CAST 就會派上用場。

    SELECT CAST(price AS DECIMAL(10, 2)) * quantity AS total_price FROM sales;

    這個查詢中,price 字段被轉換為十進制格式(有兩位小數),然後再與 quantity 相乘,計算總價格。

    CASTCONVERT 的區別

    在SQL Server中,除了 CAST,還可以使用 CONVERT 函數進行數據類型轉換。CONVERT 提供了更多的格式選項,特別是在日期和時間的轉換中。

    — 使用 CONVERT 將日期轉換為特定格式的字符串
    SELECT CONVERT(VARCHAR(10), GETDATE(), 120);

    這個查詢會將當前日期轉換為 YYYY-MM-DD 格式的字符串,如 2024-05-18

    總之,CAST 是一個簡單而強大的工具,能夠在SQL查詢中靈活地進行數據類型轉換。


    探索更多來自 宸宸知識庫 的內容

    訂閱後即可透過電子郵件收到最新文章。

    Comments

    No comments yet. Why don’t you start the discussion?

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *