- 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 與 UNION ALL
- SQL - INTERSECT 運算子
- SQL - EXCEPT 運算子
- SQL - 別名
- SQL 連線
- SQL - 使用連線
- SQL - 內連線
- SQL - 左連線
- SQL - 右連線
- SQL - 交叉連線
- SQL - 全連線
- SQL - 自連線
- SQL - 刪除連線
- SQL - 更新連線
- SQL - 左連線與右連線
- SQL - Union 與 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 與 Order By
- SQL - IN 與 EXISTS
- SQL - 資料庫調優
- SQL 函式參考
- SQL - 日期函式
- SQL - 字串函式
- SQL - 聚合函式
- SQL - 數值函式
- SQL - 文字和影像函式
- SQL - 統計函式
- SQL - 邏輯函式
- SQL - 遊標函式
- SQL - JSON 函式
- SQL - 轉換函式
- SQL - 資料型別函式
- SQL 有用資源
- SQL - 問答
- SQL - 快速指南
- SQL - 有用函式
- SQL - 有用資源
- SQL - 討論
SQL - TODATETIMEOFFSET() 函式
SQL 的TODATETIMEOFFSET() 函式是一個日期和時間函式,它使用使用者指定的 datetime2 和時區返回一個 datetimeoffset 值。
TODATETIMEOFFSET 函式操作兩個輸入 - 目標時區偏移量和非偏移日期和時間值,它簡單地將兩者組合以生成 DATETIMEOFFSET 值。此函式的輸出是資料型別 datetimeoffset 的值。
我們可以以分鐘或小時的格式提供時區。如果以分鐘提供,則使用整數 (-4);如果以小時提供,則使用字串 ('+06.00')。時區的範圍為 +14 到 -14(小時)。
語法
以下是 SQL TODATETIMEOFFSET() 函式的語法 -
TODATETIMEOFFSET(expression,time_zone)
引數
此函式僅接受兩個引數。下面描述了相同內容 -
expression - 將解析為 datetime2 值。
time_zone - 它是一個時區偏移量或從 +14 到 -14 的帶符號整數範圍。
示例
在以下示例中,我們將使用以下查詢更改分鐘的時區偏移量 -
在此示例中,我們將當前時區更改為 -150 分鐘;
SELECT TODATETIMEOFFSET (GETDATE(), -150) AS Result;
輸出
當我們執行上述查詢時,將獲得如下輸出 -
+--------------------------------+ | Result | +--------------------------------+ | 2023-02-20 12:52:55.827 -02:30 | +--------------------------------+
示例
讓我們看看另一種情況,我們將使用以下查詢以正數分鐘更改時區 -
SELECT TODATETIMEOFFSET (GETDATE(), 360) AS Result;
輸出
當查詢執行時,它將生成如下所示的輸出 -
+--------------------------------+ | Result | +--------------------------------+ | 2023-02-20 15:22:33.533 +06:00 | +--------------------------------+
示例
在以下示例中,我們使用顯式設定變數為 datetime2 值,並將TODATETIMEOFFSET() 應用於該值,並使用以下查詢比較這兩個值 -
DECLARE @DATE datetime2 = '2023-02-20 02:33:18.0000000'; SELECT @DATE AS 'Original Date', TODATETIMEOFFSET( @DATE, '+06:00' ) AS '+06:00';
輸出
執行上述查詢後,將顯示如下輸出 -
+-----------------------------+-------------------------------------+ | Original Date | +06:00 | +-----------------------------+-------------------------------------+ | 2023-02-20 02:33:18.0000000 | 2023-02-20 02:33:18.0000000 +06:00 | +-----------------------------+-------------------------------------+
示例
讓我們看看另一個示例,我們將使用以下查詢將時區偏移量設定為整數 -
SELECT TODATETIMEOFFSET( '2023-02-20 02:33:18.0000000', -150 ) AS Result;
輸出
上述查詢的輸出如下所示 -
+------------------------------------+ | Result | +------------------------------------+ | 2023-02-20 02:33:18.0000000 -02:30 | +------------------------------------+
示例
讓我們看看以下示例,其中我們使用SYSDATETIMEOFFSET() 函式作為日期表示式,它生成 SQL Server 執行的系統的當前日期/時間,使用以下查詢 -
SELECT SYSDATETIMEOFFSET() AS 'Current Date', TODATETIMEOFFSET( SYSDATETIMEOFFSET(), '+06:00' ) AS '+06:00';
輸出
當查詢執行時,它將生成如下所示的輸出 -
+------------------------------------+------------------------------------+ | Current Date | +06:00 | +------------------------------------+------------------------------------+ | 2023-02-20 14:50:06.8050290 +05:30 | 2023-02-20 14:50:06.8050290 +06:00 | +------------------------------------+------------------------------------+
示例
在以下示例中,我們使用DATETIMEOFFSET() 函式並將使用以下查詢檢索偏移值使用 TODATETIMEOFFSET() 函式 -
DECLARE @DATE DATETIMEOFFSET = '2023-02-20 14:50:06.8050290 +04:30'; SELECT @DATE AS 'Original Date', TODATETIMEOFFSET( @DATE, '+06:00' ) AS '+06:00';
輸出
執行上述查詢後,它將生成如下所示的輸出 -
+------------------------------------+------------------------------------+ | Original Date | +06:00 | +------------------------------------+------------------------------------+ | 2023-02-20 14:50:06.8050290 +04:30 | 2023-02-20 14:50:06.8050290 +06:00 | +------------------------------------+------------------------------------+
示例
在以下示例中,我們使用DATETIMEOFFSET() 函式並將使用以下查詢檢索偏移值使用 TODATETIMEOFFSET() 函式 -
DECLARE @DATE DATETIMEOFFSET = '2023-02-20 14:50:06.8050290 +04:30'; SELECT @DATE AS 'Original Date', TODATETIMEOFFSET( @DATE, '+06:00' ) AS '+06:00';
輸出
執行上述查詢後,它將生成如下所示的輸出 -
+------------------------------------+------------------------------------+ | Original Date | +06:00 | +------------------------------------+------------------------------------+ | 2023-02-20 14:50:06.8050290 +04:30 | 2023-02-20 14:50:06.8050290 +06:00 | +------------------------------------+------------------------------------+
示例
檢視以下示例,我們將使用以下查詢更改時區 -
SELECT TODATETIMEOFFSET (GETDATE(), '+05:30') AS Result;
輸出
如果我們執行上述查詢,則結果如下所示 -
+--------------------------------+ | Result | +--------------------------------+ | 2023-02-20 15:12:41.213 +05:30 | +--------------------------------+
示例
這是另一種情況,我們將使用以下查詢以負數小時更改時區 -
SELECT TODATETIMEOFFSET (GETDATE(), '-06:00') AS Result;
輸出
執行上述查詢後,它將生成如下所示的輸出 -
+---------------------------------+ | Result | +---------------------------------+ | 2023-02-20 15:16:30.247 -06:00 | +---------------------------------+