TDengine 日期時間函數 DAYOFWEEK 使用手冊

在這里插入圖片描述

DAYOFWEEK 函數使用手冊

函數描述

DAYOFWEEK 函數用于返回指定日期是一周中的第幾天。該函數遵循標準的星期編號約定,返回值范圍為 1-7,其中:

  • 1 = 星期日 (Sunday)
  • 2 = 星期一 (Monday)
  • 3 = 星期二 (Tuesday)
  • 4 = 星期三 (Wednesday)
  • 5 = 星期四 (Thursday)
  • 6 = 星期五 (Friday)
  • 7 = 星期六 (Saturday)

語法

DAYOFWEEK(date_expression)

參數說明

  • date_expression: 日期表達式,支持以下類型:
    • TIMESTAMP 類型的時間戳
    • BIGINT 類型的 Unix 時間戳(秒或毫秒)
    • VARCHAR/NCHAR 類型的日期字符串
    • NULL 值

返回值

  • 返回類型BIGINT
  • 返回值范圍:1-7(對應星期日到星期六)
  • 如果輸入為 NULL,則返回 NULL

使用示例

1. 使用 TIMESTAMP 類型

-- 查詢當前時間是星期幾
SELECT DAYOFWEEK(NOW()) AS day_of_week;-- 查詢指定時間戳是星期幾
SELECT DAYOFWEEK('2024-01-15 10:30:00') AS day_of_week;
-- 結果: 2 (星期一)

2. 使用 Unix 時間戳

-- 使用秒級時間戳 (2024-01-15 對應的時間戳)
SELECT DAYOFWEEK(1705315800) AS day_of_week;
-- 結果: 4 (星期三)-- 使用毫秒級時間戳  
SELECT DAYOFWEEK(1705315800000) AS day_of_week;
-- 結果: 4 (星期三)

3. 使用日期字符串

-- ISO 格式日期字符串
SELECT DAYOFWEEK('2024-01-15') AS day_of_week;
-- 結果: 2 (星期一)-- 帶時間的日期字符串
SELECT DAYOFWEEK('2024-12-25 12:00:00') AS day_of_week;
-- 結果: 4 (星期三,圣誕節)

4. 在表查詢中使用

-- 假設有一個訂單表 orders,包含 order_time 字段
SELECT order_id,order_time,DAYOFWEEK(order_time) AS order_day,CASE DAYOFWEEK(order_time)WHEN 1 THEN '星期日'WHEN 2 THEN '星期一'WHEN 3 THEN '星期二'WHEN 4 THEN '星期三'WHEN 5 THEN '星期四'WHEN 6 THEN '星期五'WHEN 7 THEN '星期六'END AS day_name
FROM orders
WHERE order_time >= '2024-01-01';

5. 統計分析示例

-- 統計每個工作日的訂單數量
SELECT DAYOFWEEK(order_time) AS day_of_week,COUNT(*) AS order_count
FROM orders
WHERE order_time >= '2024-01-01'
GROUP BY DAYOFWEEK(order_time)
ORDER BY day_of_week;-- 篩選周末的數據
SELECT *
FROM orders  
WHERE DAYOFWEEK(order_time) IN (1, 7)  -- 星期日和星期六
AND order_time >= '2024-01-01';

6. 處理 NULL 值

-- NULL 值處理
SELECT DAYOFWEEK(NULL) AS result;
-- 結果: NULL-- 過濾 NULL 值
SELECT DAYOFWEEK(order_time) AS day_of_week
FROM orders where order_time is not null;

時區注意事項

重要說明

使用 DAYOFWEEK 函數時需要特別注意時區問題,因為不同的時區可能會影響日期的計算結果:

  1. 數據庫時區設置: 函數的結果可能受到數據庫服務器時區設置的影響
  2. 客戶端時區: 客戶端和服務器時區不一致時可能導致結果偏差
  3. UTC 轉換: Unix 時間戳通常基于 UTC,在轉換為本地時間時需要考慮時區偏移

時區相關示例

-- 顯示當前時區設置
SELECT TIMEZONE();-- 在不同時區下同一時間戳可能返回不同的星期幾
-- 例如:UTC 時間 2024-01-01 00:30:00 (星期一)
-- 在 UTC+8 時區顯示為 2024-01-01 08:30:00 (星期一)
-- 在 UTC-5 時區顯示為 2023-12-31 19:30:00 (星期日)SELECT '2024-01-01 00:30:00' AS utc_time,DAYOFWEEK('2024-01-01 00:30:00') AS day_utc;

建議

  1. 統一時區: 在應用中保持數據庫和客戶端時區的一致性
  2. 明確時區: 在處理跨時區數據時,明確指定時區或統一使用 UTC
  3. 測試驗證: 在不同時區環境下測試函數返回結果的正確性

相關函數

  • WEEKDAY(): 返回星期幾(0-6,Monday=0)
  • WEEK(): 返回一年中的第幾周
  • WEEKOFYEAR(): 返回一年中的第幾周(ISO 標準)
  • NOW(): 獲取當前時間戳
  • TIMEZONE(): 獲取當前時區設置

常見用途

  1. 業務分析: 分析不同工作日的業務數據分布
  2. 排班管理: 根據星期幾安排工作計劃
  3. 數據過濾: 篩選工作日或周末的數據
  4. 報表統計: 按星期維度進行數據統計和分析

關于 TDengine

TDengine 專為物聯網IoT平臺、工業大數據平臺設計。其中,TDengine TSDB 是一款高性能、分布式的時序數據庫(Time Series Database),同時它還帶有內建的緩存、流式計算、數據訂閱等系統功能;TDengine IDMP 是一款AI原生工業數據管理平臺,它通過樹狀層次結構建立數據目錄,對數據進行標準化、情景化,并通過 AI 提供實時分析、可視化、事件管理與報警等功能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/920903.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/920903.shtml
英文地址,請注明出處:http://en.pswp.cn/news/920903.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從RNN到BERT

目錄 序列模型簡介RNN循環神經網絡LSTM長短期記憶網絡Transformer架構BERT模型詳解實踐項目 序列模型簡介 什么是序列數據? 序列數據是按照特定順序排列的數據,其中元素的順序包含重要信息。常見的序列數據包括: 文本:單詞或字…

橢圓曲線的數學基礎

一、引言 橢圓曲線密碼學(Elliptic Curve Cryptography, ECC)是現代公鑰密碼學的核心工具之一。 相比傳統的 RSA,ECC 可以用 更短的密鑰長度 提供 同等甚至更高的安全性,因此被廣泛應用于區塊鏈、TLS、移動設備加密等場景。 要理解…

從能耗黑洞到精準智控:ASCB2智慧空開重構高校宿舍用電能效模型

隨著智慧校園建設不斷推進,校園宿舍的用電管理面臨著安全性、智能化與可視化的多重挑戰。傳統用電監控手段在數據采集、實時控制和故障響應方面存在明顯不足。安科瑞ASCB2系列物聯網斷路器通過集成多種智能感知、保護控制與通信手段,為高校宿舍提供了一種…

前端學習——JavaScript基礎

前面我們已經學習了前端代碼的骨架——HTML和前端美化工具——CSS。但是作為界面與客戶進行交互我們還需要一個語言工具——JavaScript。 因此實際上HTML、CSS、JavaScript三者是這樣的關系: HTML: 網頁的結構(骨) CSS: 網頁的表現(皮) JavaScript: 網頁的行為(魂) …

Ubuntu下的壓縮及解壓縮

一、Linxu 下常用的壓縮格式 Linux 下常用的壓縮擴展名有:.tar 、.tar.bz2、 .tar.gz 。 二、Windows 下 7ZIP 軟件的安裝 因為 Linux 下很多文件是 .bz2 , .gz 結尾的壓縮文件,因此需要在 windows 下安裝 7ZIP 軟件。 7-Zip 三、Ubuntu…

金融數據安全

安全框架金融數據生命周期是指金融業機構在開展業務和進行經營管理的過程中,對金融數據進行采集、 傳輸、存儲、使用、刪除、銷毀的整個過程。數據生命周期安全框架,遵循數據安全原則,以 數據安全分級為基礎,建立覆蓋數據生命周期全過程的安全…

Unity抖音小游戲快捷立項準備/改動

本文由 NRatel 歷史筆記整理而來,如有錯誤歡迎指正。 1、熟讀抖音接入文檔,記錄要點 Unity 小游戲接入指南_抖音開放平臺 2、創建Git倉庫,開通成員權限 美術目錄,對程序、美術、策劃全開 程序目錄,對程序全開、對部…

Labview使用modbus或S7與PLC通信

一、modbus 1.使用VI Package Manager (VIPM)安裝modbus庫 2.安裝好后如下顯示會有Modbus Library 3.Master API作為客戶端,如下有一個例程 4.Slave API作為服務端,如下有一個例程 上述兩個例程是通過IP 127.0.0.1可以互相通信的。數據是一直存在服務端…

Docker Swarm 與 Kubernetes (K8s) 全面對比教程

一、引言:為什么需要了解這兩種編排工具?在容器化應用部署中,Docker Swarm 和 Kubernetes (K8s) 是兩個最主流的容器編排工具。作為一名開發者或運維工程師,理解它們的區別和適用場景至關重要。本教程將通過對比分析,幫…

開源協作白板 – 輕量級多用戶實時協作白板系統 – 支持多用戶繪圖、文字編輯、圖片處理

項目概述 Whiteboard 是一個基于 Node.js 的輕量級協作白板/畫板系統,支持多用戶實時協作繪圖、文字編輯、圖片處理等功能。該項目采用現代化的 Web 技術棧,提供直觀的用戶界面和豐富的交互功能。 核心特性 🎨 繪圖功能 多種繪圖工具&…

Spark自定義累加器實現高效WordCount

目錄 1. 代碼功能概述 2. 代碼逐段解析 主程序邏輯 自定義累加器 MyAccumulator 3. Spark累加器原理 累加器的作用 AccumulatorV2 vs AccumulatorV1 累加器執行流程 4. 代碼擴展與優化建議 支持多詞統計 線程安全優化 使用內置累加器 5. Spark累加器的適用場景 6…

開源 | 推薦一套企業級開源AI人工智能訓練推理平臺(數算島):完整代碼包含多租戶、分布式訓練、模型市場、多框架支持、邊緣端適配、云邊協同協議:

🔥 Github 主倉庫(優先更新)https://github.com/roinli/SSD-GPU-POOL | Gitee 鏡像倉庫 > 原倉庫因故暫停使用,本倉庫為鏡像項目。開源版本將持續迭代優化,歡迎提交 Issue 或加入社群交流。 GPU 池化平臺 | AI 全…

pprint:美觀打印數據結構

文章目錄一、pprint.pprint():美觀化打印二、pprint.pformat():格式化成字符串表示三、pprint() 處理包含__repr__() 方法的類四、遞歸引用:Recursion on {typename} with id{number}五、depth 參數控制 pprint() 方法的輸出深度六、width 參…

解決Docker運行hello-world鏡像報錯問題

解決Docker運行hello-world鏡像報錯問題當您運行sudo docker run hello-world命令時出現"Unable to find image hello-world locally"和"context deadline exceeded"錯誤,這通常是由于Docker無法從默認鏡像倉庫下載鏡像導致的。以下是幾種解決方…

一體化步進伺服電機在汽車線束焊接設備中的應用案例

在汽車制造領域,線束焊接是確保電氣系統可靠性的關鍵工藝。為解決傳統焊接設備限位精度不足、運行穩定性差等問題,采用?STM42系列一體化步進伺服電機?,通過位置模式與原點回歸功能的優化配置,顯著提升了焊接設備的定位精度與抗干…

【Django】首次創建Django項目初始化

1. 創建虛擬環境例如創建虛擬環境為rebortpython3.6 -m venv test/rebort2. 安裝Djangosudo -i cd test/rebort/bin/ source ./activate pip install Django如果是在wingows上安裝,同時適用默認安裝會,會在python的安裝目前下生成了兩個文件在lib目錄下會…

Spark引擎中RDD的性質

RDD(Resilient Distributed Dataset,彈性分布式數據集)是SparkCore提供的核心抽象。一個RDD在邏輯上抽象地代表了一個HDFS文件或數據庫中的表,但RDD是被分區的,每個分區分布在不同的節點上,從而并行執行。 …

人工智能學習:什么是NLP自然語言處理

一、什么是自然語言處理 自然語言處理(Natural Language Processing, 簡稱NLP)是計算機科學與語言學中關注于計算機與人類語言間轉換的領域,主要目標是讓機器能夠理解和生成自然語言,這樣人們可以通過語言與計算機進行更自然的互動。 對于自然語言來說,處理的數據…

【Selenium】UI自動化測試框架設計:從項目結構到Base-Page層的最佳實踐

UI自動化測試框架設計:從項目結構到Base-Page層的最佳實踐全面解析UI自動化測試項目的架構設計與實現細節,構建可維護的測試框架在現代軟件開發中,UI自動化測試已成為確保產品質量的重要環節。一個良好的項目結構和合理的設計模式能夠顯著提高…

QT項目文件(.pro)指南

概述Qt項目文件(.pro文件)是Qt開發的核心配置文件,它使用qmake工具來管理項目的構建過程。一個良好組織的.pro文件不僅能確保項目正確編譯,還能大大提高代碼的可維護性和團隊協作效率。本文將深入探討.pro文件的結構、語法和最佳實…