- SQL 教程
- SQL - 首頁
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 資料庫
- SQL - 語法
- SQL - 資料型別
- SQL - 運算子
- SQL - 表示式
- SQL 資料庫
- SQL - 建立資料庫
- SQL - 刪除資料庫
- SQL - 選擇資料庫
- SQL - 重新命名資料庫
- SQL - 顯示資料庫
- SQL - 備份資料庫
- SQL 表
- SQL - 建立表
- SQL - 顯示錶
- SQL - 重命名錶
- SQL - 清空表
- SQL - 克隆表
- SQL - 臨時表
- SQL - 修改表
- SQL - 刪除表
- SQL - 刪除表
- SQL - 約束
- SQL 查詢
- SQL - 插入查詢
- SQL - 選擇查詢
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查詢
- SQL - 刪除查詢
- SQL - 排序結果
- SQL 檢視
- SQL - 建立檢視
- SQL - 更新檢視
- SQL - 刪除檢視
- SQL - 重新命名檢視
- SQL 運算子和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - BOOLEAN (BIT) 運算子
- SQL - LIKE 運算子
- SQL - IN 運算子
- SQL - ANY, ALL 運算子
- SQL - EXISTS 運算子
- SQL - CASE
- SQL - NOT 運算子
- SQL - 不等於
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 運算子
- SQL - UNION 運算子
- SQL - UNION vs UNION ALL
- SQL - INTERSECT 運算子
- SQL - EXCEPT 運算子
- SQL - 別名
- SQL 連線
- SQL - 使用連線
- SQL - 內連線
- SQL - 左連線
- SQL - 右連線
- SQL - 交叉連線
- SQL - 全連線
- SQL - 自連線
- SQL - 刪除連線
- SQL - 更新連線
- SQL - 左連線 vs 右連線
- SQL - Union vs Join
- SQL 鍵
- SQL - 唯一鍵
- SQL - 主鍵
- SQL - 外部索引鍵
- SQL - 複合鍵
- SQL - 備用鍵
- SQL 索引
- SQL - 索引
- SQL - 建立索引
- SQL - 刪除索引
- SQL - 顯示索引
- SQL - 唯一索引
- SQL - 叢集索引
- SQL - 非叢集索引
- 高階 SQL
- SQL - 萬用字元
- SQL - 註釋
- SQL - 注入
- SQL - 託管
- SQL - Min & Max
- SQL - 空值函式
- SQL - 檢查約束
- SQL - 預設約束
- SQL - 儲存過程
- SQL - NULL 值
- SQL - 事務
- SQL - 子查詢
- SQL - 處理重複項
- SQL - 使用序列
- SQL - 自動遞增
- SQL - 日期和時間
- SQL - 遊標
- SQL - 公共表表達式
- SQL - Group By vs Order By
- SQL - IN vs EXISTS
- SQL - 資料庫調優
- SQL 函式參考
- SQL - 日期函式
- SQL - 字串函式
- SQL - 聚合函式
- SQL - 數值函式
- SQL - 文字和影像函式
- SQL - 統計函式
- SQL - 邏輯函式
- SQL - 遊標函式
- SQL - JSON 函式
- SQL - 轉換函式
- SQL - 資料型別函式
- SQL 有用資源
- SQL - 問答
- SQL - 快速指南
- SQL - 有用函式
- SQL - 有用資源
- SQL - 討論
SQL - TRY_CAST() 函式
SQL 的TRY_CAST() 函式是 SQL 中的轉換函式之一,類似於 CAST 函式。它用於在各種資料型別之間轉換表示式。它用於更改表示式的 資料型別。如果成功,SQL TRY CAST 將返回所選資料型別中的表示式。如果失敗,則返回 null。
處理不成功轉換的方式是 TRY CAST() 和 CAST() 函式之間的主要區別。CAST() 函式對失敗的轉換操作產生錯誤,而 TRY CAST() 返回 NULL。
語法
以下是 SQL TRY_CAST() 函式的語法:
TRY_CAST ( expression AS data_type [ ( length ) ] )
引數
此函式僅接受三個引數。下面描述了相同的內容:
expression - 要轉換的有效表示式。
datatype - 我們要將表示式轉換為的資料型別。
length - 用於定義任何目標資料型別的長度,因為它是整數型別的可選引數。
示例
讓我們嘗試使用以下查詢使用 TRY_CAST() 函式將字串轉換為十進位制:
SELECT TRY_CAST('123.45' AS DECIMAL(6, 2)) Result;
輸出
當我們執行上述查詢時,輸出如下所示:
+------------------------------------+ | Result| +------------------------------------+ | 123.45 | +------------------------------------+
示例
在以下示例中,我們將使用GETDATE() 以及 TRY_CAST() 函式將日期和時間轉換為日期值,方法是使用以下查詢:
SELECT TRY_CAST(GETDATE() AS DATE) Result;
輸出
執行上述查詢後,輸出將顯示如下:
+------------------------------------+ | Result| +------------------------------------+ | 2023-02-23| +------------------------------------+
示例
考慮以下示例,我們將使用GETDATE() 以及 TRY_CAST() 函式將表示式轉換為 varchar,方法是使用以下查詢:
SELECT TRY_CAST(GETDATE() AS VARCHAR(22)) AS Result;
輸出
執行上述查詢後,輸出將顯示如下:
+------------------------------------+ | Result| +------------------------------------+ | Feb 23 2023 12:17PM | +------------------------------------+
示例
讓我們看看另一種情況,我們將使用GETDATE() 以及 TRY_CAST() 函式將日期和時間轉換為時間值,方法是使用以下查詢:
SELECT TRY_CAST(GETDATE() AS TIME) Result;
輸出
上述查詢的輸出如下所示:
+------------------------------------+ | Result| +------------------------------------+ | 11:57:20.3266667 | +------------------------------------+
示例
檢視以下示例,我們將使用以下查詢將十進位制值轉換為 int:
SELECT TRY_CAST(112233.4455 AS int) AS Result;
輸出
如果我們編譯並執行上述查詢,則結果將如下所示:
+------------------------------------+ | Result| +------------------------------------+ | 112233 | +------------------------------------+
示例
讓我們看看以下示例,其中TRY_CAST() 函式在超出範圍時返回 NULL,方法是使用以下查詢:
SELECT TRY_CAST('TUTORIALSPOINT' AS int) AS Result;
輸出
執行上述查詢後,它將生成如下所示的輸出:
+------------------------------------+ | Result| +------------------------------------+ | NULL | +------------------------------------+
示例
讓我們考慮另一個示例,我們將使用TRY_CAST() 函式與 case 一起執行以下查詢:
SELECT
CASE WHEN TRY_CAST('TUTORIALSPOINT' AS int) IS NULL
THEN 'CastFailed'
ELSE 'CastSucceeded'
END AS Result;
輸出
查詢執行後,它將生成如下所示的輸出:
+------------------------------------+ | Result| +------------------------------------+ | CastFailed | +------------------------------------+
示例
考慮以下示例,我們將使用以下查詢將表示式轉換為 money:
DECLARE @STR AS VARCHAR(22) SET @STR = '12345' SELECT TRY_CAST(@STR AS MONEY) AS Result;
輸出
當我們執行上述查詢時,輸出如下所示:
+------------------------------------+ | Result| +------------------------------------+ | 12345.00 | +------------------------------------+