当前位置: 首页 > article >正文

GaussDB 操作时间【玩转PB级数仓GaussDB(DWS)】

前言在使用 GaussDB DWS 进行数仓相关操作时我们经常会涉及到对时间的操作本文主要来讲解下有关时间操作的定义及函数格式化字符串模式描述HH一天的小时数(01-12)HH12一天的小时数(01-12)HH24一天的小时数(00-23)MI分钟(00-59)ss秒(00-59)MS毫秒(000-999)US微秒(000000-999999)AM或A.M.正午标识大写pm或p.m.下午标识小写Y,YYY带逗号的年(4和更多位)YYYY年(4和更多位)YYY年的后三位YY年的后两位Y年的最后一位BC或B.C. 或 AD 或 A.D.纪元标识(大写)CC世纪(2位)MONTH全长大写月份名(空白填充为9字符)Month全长混合大小写月份名(空白填充为9字符)month全长小写月份名(空白填充为9字符)MON大写缩写月份名(3字符)Mon缩写混合大小写月份名(3字符)mon小写缩写月份名(3字符)MM月份号(01-12)DAY全长大写日期名(空白填充为9字符)Day全长混合大小写日期名(空白填充为9字符)day全长小写日期名(空白填充为9字符)DY缩写大写日期名(3字符)Dy缩写混合大小写日期名(3字符)dy缩写小写日期名(3字符)DDD一年里的日子(001-366)DD一个月里的日子(01-31)D一周里的日子(1-7周日是1)W一个月里的周数(1-5)第一周从该月第一天开始WW一年里的周数(1-53)第一周从该年第一天开始算IWISO一年里的咒术(第一个星期四在第一周里)Q季度RM罗马数字的月份(I-XII I1月)(大写)rm罗马数字的月份(I-XII I1月)(小写)TZ时区名(大写)tz时区名(小写)时间加减操作符例子结果date ‘2022-09-28’ integer ‘7’date ‘2022-10-05’date ‘2022-09-28’ interval ‘1 hour’timestamp ‘2022-09-28 01:00:00’date ‘2022-09-28’ time ‘03:00’timestamp ‘2022-09-28 03:00:00’interval ‘1 day’ interval ‘1 hour’interval ‘1 day 01:00:00’timestamp ‘2022-09-28 01:00’ interval ‘23 hours’timestamp ‘2022-09-29 00:00:00’time ‘01:00’ interval ‘3 hours’time ‘04:00:00’-- interval ‘23 hours’interval ‘-23:00:00’-date ‘2022-10-01’ - date ‘2022-09-28’integer ‘3’ (days)-date ‘2022-10-01’ - integer ‘7’date ‘2022-09-24’-date ‘2022-09-28’ - interval ‘1 hour’timestamp ‘2022-09-27 23:00:00’-time ‘05:00’ - time ‘03:00’interval ‘02:00:00’-time ‘05:00’ - interval ‘2 hours’time ‘03:00:00’-timestamp ‘2022-09-28 23:00’ - interval ‘23 hours’timestamp ‘2022-09-28 00:00:00’-interval ‘1 day’ - interval ‘1 hour’interval ‘1 day -01:00:00’-timestamp ‘2022-09-29 03:00’ - timestamp ‘2022-09-27 12:00’interval ‘1 day 15:00:00’*900 * interval ‘1 second’interval ‘00:15:00’*21 * interval ‘1 day’interval ‘21 days’*double precision ‘3.5’ * interval ‘1 hour’interval ‘03:30:00’/interval ‘1 hour’ / double precision ‘1.5’interval ‘00:40:00’字符串与日期、时间戳的转换将字符串类型转为日期类型select to_date(2022-06-14,yyyy-mm-dd); select to_date(14 Jun 2022,DD Mon yyyy);将字符串类型转为时间戳select to_timestamp(1655211000); select to_timestamp(2022-06-04, yyyy-mm-dd);时间戳、日期类型转字符串将时间戳转为字符串(年月日)select to_char(now(),yyyy-mm-dd);将时间戳转为字符串(年月日 时分秒)select to_char(now(),yyyy-mm-dd HH24:MI:SS);将时间间隔转为字符串select to_char(interval 1 year 1 mon 2day 3h 4m 5s,yy-mm-dd HH24:MI:SS);将日期转为字符串select cast(current_date as VARCHAR); select to_char(CURRENT_DATE,yy-mm-dd);日期与时间戳之间的互相转换带时区(推荐使用)select EXTRACT(epoch FROM CAST(CURRENT_DATE AS TIMESTAMPTZ));不带时区(会多出8小时时间会变为08:00:00)select EXTRACT(epoch from CURRENT_DATE); select EXTRACT(epoch FROM CAST(CURRENT_DATE AS TIMESTAMP));时间、日期筛选为方便进行演示在这里进行构造数据。DROP TABLE IF EXISTS test_table; CREATE TABLE test_table ( depart varchar(15), name varchar(15), create_date date, last_login_date varchar(50), update_time timestamp, birth_time varchar(50), salary int8 ) ; INSERT INTO test_table (depart, name, create_date,last_login_date,update_time,birth_time,salary) WITH test_table AS ( SELECT UNNEST( ARRAY [ 财务, 行政, 销售, 财务, 行政, 行政 ] ) AS depart, UNNEST ( ARRAY [ A, B, A, C, D, C ] ) AS NAME, UNNEST ( ARRAY [ cast(2022-12-21 as date), cast(2021-01-03 as date), cast(2023-01-01 as date), cast(2022-05-31 as date), cast(2021-02-28 as date), cast(2019-01-31 as date) ] ) AS create_date, UNNEST ( ARRAY [ 2023-06-21, 2023-06-03, 2023-06-01, 2022-06-02, 2023-06-28, 2023-05-31 ] ) AS last_login_date, UNNEST ( ARRAY [to_timestamp(2023-05-21 12:20:30,yyyy-mm-dd HH24:MI:SS), to_timestamp(2023-01-03 23:59:58,yyyy-mm-dd HH24:MI:SS), to_timestamp(2023-01-04 01:01:39,yyyy-mm-dd HH24:MI:SS), to_timestamp(2023-01-01 11:32:36,yyyy-mm-dd HH24:MI:SS), to_timestamp(2022-12-31 09:18:27,yyyy-mm-dd HH24:MI:SS), to_timestamp(2022-12-30 17:12:29,yyyy-mm-dd HH24:MI:SS)] ) AS update_time, UNNEST ( ARRAY [ 1992-02-11 09:21:36, 1996-05-03 21:59:51, 1994-05-24 18:09:14, 1990-03-03 05:12:43, 1993-12-31 15:22:57, 1997-11-30 10:10:49]) AS birth_time, UNNEST ( ARRAY [ 200, 100, 50, 30, 200, 100 ] ) AS donate ) SELECT * FROM test_table ;以下基于上面的数据进行日期筛选对字符串格式/日期格式进行筛选获取last_login_date大于等于2022-06-21日的select * from test_table where last_login_date2022-06-21;获取create_date大于等于2021-05-21日的select * from test_table where create_date2021-05-21;获取last_login_date等于2022-06-21日的select * from test_table where last_login_date2022-06-21 and last_login_date 2022-06-21; select * from test_table where last_login_date between 2022-06-21 and 2022-06-21;获取last_login_date大于等于2021-05-21日并且小于等于2021-12-10日的select * from test_table where create_date2021-05-21 and create_date2021-12-10; select * from test_table where create_date between 2021-05-21 and 2021-12-10;基于字符串格式/时间戳格式的时间筛选获取出生日期大于等于1994-01-03的数据select * from test_table where birth_time1994-01-03;获取出生日期在1994-01-03和1994-01-04日期之间的数据含1994-01-03和1994-01-04当天的数据。特别注意以下写法会遗漏1994-01-04当天的数据。select * from test_table where birth_time between 1994-01-03 and 1994-01-04;需要对末尾日期加1天等同于‘1994-01-03 00:00:00’ and’1994-01-05 00:00:00’select * from test_table where birth_time between 1994-01-03 and 1994-01-05;需要对日期进行转换select * from test_table where cast(birth_time as date) between 1994-01-03 and 1994-01-04;需要加上时分秒select * from test_table where birth_time 1994-01-03 00:00:00 and birth_time 1994-01-04 23:59:59; select * from test_table where birth_time between 1994-01-03 00:00:00 and 1994-01-04 23:59:59;基于时间戳格式的日期筛选与字符串格式的筛选方法类似这里不多加赘述时间截断按年截断结果为2022-01-01 00:00:00SELECT date_trunc(year, TIMESTAMP 2022-06-14 20:24:30);按月截断结果为2022-06-01 00:00:00SELECT date_trunc(month, TIMESTAMP 2022-06-14 20:24:30);按天截断结果为2022-06-14 00:00:0008SELECT date_trunc(day, TIMESTAMP WITH TIME ZONE 2022-06-14 20:24:3008);按天和时区截断结果为2022-06-14 22:00:0008SELECT date_trunc(day, TIMESTAMP WITH TIME ZONE 2022-06-14 20:24:3000, Australia/Sydney);按小时截断结果为2022-06-14 20:00:00SELECT date_trunc(hour, TIMESTAMP 2022-06-14 20:24:30);按小时对时间间隔进行截断结果为2 days 02:00:00SELECT date_trunc(hour, INTERVAL 2 days 02:30:58);计算时间差with temp as (select now() now,now() -INTERVAL 2 year 2 month 1 day 1h 3m 33s last_date) select now, last_date, EXTRACT(year from age(now,last_date)) years, 年 EXTRACT(year from age(now,last_date))*12EXTRACT(month from age(now,last_date)) months, 月份 EXTRACT(day from (now-last_date)) days, 日 now::date-last_date::date days_2, 日 EXTRACT(epoch from (now-last_date)/3600) hours, 时 round(EXTRACT(epoch from (now-last_date))::numeric/3600,2) hour_2fs, 时 四舍五入形式 EXTRACT(epoch from (now-last_date))::numeric/60 minutes, 分 trunc(EXTRACT(epoch from (now-last_date))::numeric/60,1) minutes_1fs, 分 截断形式 round(EXTRACT(epoch from (now-last_date))::numeric/60,1) minutes_1fs_another, 分 四舍五入形式 EXTRACT(epoch from (now-last_date)) epoch 秒数 from temp;生成日期序列按天生成自2020-01-01至2023-12-31的时间序列SELECT generate_series(DATE 2020-01-01, DATE 2023-12-31, INTERVAL 1 day)::DATE AS frequency;

相关文章:

GaussDB 操作时间【玩转PB级数仓GaussDB(DWS)】

前言在使用 GaussDB DWS 进行数仓相关操作时,我们经常会涉及到对时间的操作,本文主要来讲解下有关时间操作的定义及函数格式化字符串模式描述HH一天的小时数(01-12)HH12一天的小时数(01-12)HH24一天的小时数(00-23)MI分钟(00-59)ss秒(00-59)MS毫秒(000-9…...

数字孪生软件篇教程(从零入门到工业落地)

前言 在数字孪生行业中,硬件决定真假,软件决定颜值与逻辑。很多新手误区:把数字孪生当成3D建模、做炫酷大屏。 真正工业级软件架构:三维建模 + 后端服务 + 数据中台 + 可视化引擎 + 仿真逻辑。 本篇为配套硬件篇专属软件教程,保持一模一样排版结构、通俗易懂、零基础入…...

企业级应用如何利用Taotoken多模型能力优化AI服务调用

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业级应用如何利用Taotoken多模型能力优化AI服务调用 在构建依赖大语言模型的企业级应用时,开发团队常面临模型选型单…...

2026年IEEE TASE,基于不平衡与平衡竞争策略辅助的双种群优化算法+约束多目标优化,深度解析+性能实测

目录1.摘要2.CMOPs3.提出方法4.结果展示5.参考文献6.代码获取7.算法辅导应用定制读者交流1.摘要 针对具有复杂碎片化可行域约束多目标优化难题,本文提出一种基于不平衡与平衡竞争策略辅助的双种群算法(UBCSO),通过平衡种群的均匀…...

3PEAK思瑞浦 TP2272-SO1R SOP8 精密运放

特性 增益带宽积:7MHz 高斜率:20V/us 宽电源范围:3.1V至36V或2.25V至18V 低失调电压:0.5mV(最大值) 低输入偏置电流:30pA(典型值) 轨到轨输出电压范围 单位增益稳定: 工作温度范围:-40C至125C...

测试工程师的副业指南:利用专业技能实现月入过万

一、解锁测试工程师的副业潜力在软件行业高速发展的今天,测试工程师早已不再是仅仅围绕着“找bug”打转的角色。他们凭借着对软件质量把控的专业能力、对各类系统架构的深入理解以及严谨的逻辑思维,在副业领域拥有着得天独厚的优势。越来越多的测试工程师…...

3PEAK思瑞浦 TPA1731-S5TR SOT23-5 运算放大器

特性 供电电压:4.5伏至36伏 偏移电压:最大士75伏 差分输入电压范围至电源轨,可作为比较器工 作 轨到轨输入和输出 带宽:3MHz 斜率:4V/us 低噪声:21nV/vHz(1kHz时) 高电容负载驱动能力:10nF 工作温度范围:-40C至125C...

Arm MAP性能分析工具使用指南与优化技巧

1. Arm MAP性能分析工具概述在现代高性能计算(HPC)领域,性能分析工具已成为开发者优化应用程序的关键利器。Arm MAP作为一款专业的跨平台性能分析工具,能够帮助开发者深入理解应用程序的运行行为,定位性能瓶颈,并针对性地进行优化…...

2026公考培训机构综合评测:粉笔教育领跑,线上线下一体化成关键优势

【评测说明】 2026年公考培训市场持续分化,考生在选择机构时,不再只看“名师”或“价格”,而是综合考量上榜概率、资金安全、学习便捷性。本文从上岸数据可验证性、性价比、退费效率、师资体系稳定性、线上线下覆盖能力五大维度,对…...

面向少儿的 AI 背单词 APP开发

开发一款面向少儿的 AI 背单词 APP,核心在于将“机械记忆”转化为“交互式探索”。结合 2026 年主流的 AI 智能体技术,其主要功能可以归纳为以下几个维度。1. 沉浸式动态语境生成不同于传统的静态例句,AI 会根据孩子的兴趣(如恐龙…...

windows系统下操作GaussDB(DWS)【玩转PB级数仓GaussDB(DWS)】

数据仓库服务GaussDB(DWS) 是一种基于华为云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务。GaussDB(DWS)是基于华为融合数据仓库GaussDB产品的云原生服务 ,兼容标准ANSI SQL 99和SQL 2003,同时兼容…...

诛仙手游多开最多几开?用什么云手机比较好?

很多喜欢玩诛仙手游的朋友们都喜欢多开,但是今天小编告诉你们多开也不能开太多哦,要选择合适的云手机多开才行,不然同一个ip多开很容易封号,今天小宝就来给大家分析诛仙多开几个比较合适,以及用什么云手机多开不容易封…...

10分钟轻松搞定Android Studio中文界面:社区维护版完整配置指南

10分钟轻松搞定Android Studio中文界面:社区维护版完整配置指南 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 还在为…...

安全测试人员必备:手把手教你用WePE+Ghost镜像在VMware里快速部署Win7靶机环境

安全测试人员必备:手把手教你用WePEGhost镜像在VMware里快速部署Win7靶机环境 在网络安全学习和渗透测试领域,拥有一个随时可用的标准化测试环境至关重要。对于刚入门的安全研究员、白帽子或需要进行漏洞复现的技术人员来说,Windows 7系统仍然…...

3步掌握PT-Plugin-Plus:浏览器PT下载插件终极指南

3步掌握PT-Plugin-Plus:浏览器PT下载插件终极指南 【免费下载链接】PT-Plugin-Plus PT 助手 Plus,为 Microsoft Edge、Google Chrome、Firefox 浏览器插件(Web Extensions),主要用于辅助下载 PT 站的种子。 项目地址…...

从 N+1 到 joinedload:理解 SQLAlchemy 关系加载的核心机制

从 N1 到 joinedload:理解 SQLAlchemy 关系加载的核心机制文章摘要 本文围绕 SQLAlchemy 一对多关系加载展开,重点解释 relationship、lazy loading、selectinload、joinedload、N1 问题以及 joinedload 加载集合关系时为什么需要unique()。前言&#xf…...

3个技巧快速掌握加密压缩包密码找回:ArchivePasswordTestTool新手指南

3个技巧快速掌握加密压缩包密码找回:ArchivePasswordTestTool新手指南 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾…...

GPT-4 Turbo访问权、优先响应、高级数据分析——ChatGPT Plus五大隐藏权益深度拆解,92%用户根本没用全

更多请点击: https://intelliparadigm.com 第一章:ChatGPT Plus订阅值不值得买 ChatGPT Plus 提供每月 $20 的固定订阅服务,主打 GPT-4 模型访问、优先响应队列、文件上传解析(PDF/CSV/TXT 等)及自定义 GPTs 功能。是…...

3大实战场景:PX4无人机视觉定位从零部署到工业级应用

3大实战场景:PX4无人机视觉定位从零部署到工业级应用 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot PX4-Autopilot作为开源无人机飞控的标杆,其视觉定位能力正在重塑自主飞…...

终极AMD锐龙处理器调试指南:深度掌握硬件性能调优的完整解决方案

终极AMD锐龙处理器调试指南:深度掌握硬件性能调优的完整解决方案 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: …...

设计系统文本化:用YAML/JSON统一管理设计令牌,实现多端一致与自动化

1. 项目概述:当设计系统遇上纯文本 最近在跟一个跨职能团队协作时,我们遇到了一个典型的老大难问题:设计师在Figma里更新了一个按钮的主色调,前端工程师在代码库里改了对应的CSS变量,但负责撰写产品文档和营销材料的同…...

别盲目学AI!先搞懂人工智能的3大核心分支,选对方向少走3年弯路

文章目录前言第一大分支:大模型与生成式AI——AI行业的"水电煤"什么是大模型与生成式AI?大模型技术在2026年的发展现状大模型方向的主要岗位和薪资大模型方向的学习路线第二大分支:智能体与多智能体系统——2026年AI行业最大的风口…...

如何永久免费使用AI编程助手:Cursor Free VIP完整指南

如何永久免费使用AI编程助手:Cursor Free VIP完整指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…...

Java统一AI SDK实战:集成OpenAI、Claude、Gemini多模型API

1. 项目概述与核心价值 最近在折腾一个需要集成多个大模型API的Java项目,从OpenAI到Claude再到Google Gemini,每个厂商的SDK调用方式、请求体结构、错误处理都不太一样,光是写适配代码就够喝一壶的。更别提还要处理流式响应、文件上传、Func…...

实在Agent实测:解决采购合同审核流程冗长与原材料交付周期拉长的架构之道

大家好,我是企业架构师老王。站在2026年5月这个时间节点回看,全球供应链的复杂程度已远超三年前的预判。近期我在为几家制造型企业做数字化诊断时发现,一个幽灵般的困境正在吞噬企业的利润:采购合同审核流程冗长,直接导…...

AI小白必看:收藏这份从零入门大模型的核心概念指南

本文通过一个生动的故事,用通俗易懂的方式讲解了AI领域最核心的7个概念:LLM(大语言模型)、Agent(智能体)、Skill(技能包)、MCP(模型上下文协议)、IDE&#xf…...

解决每次打开JFlash就提示:Device: TLE9863QXW20: Flash bank 0x11000000: No loader specified的问题

问题现象:每次打开JFlash就提示: Device: TLE9863QXW20: Flash bank 0x11000000: No loader specified解决方法:1.WinR 输入以下 打开目录:%APPDATA%\SEGGER\JLinkDevices2.文本打开xml文件:我是打开华大(HDCS)芯片的时…...

2026年三款最值得在线预约小程序,解决您的预约难题

本文围绕在线预约小程序这一核心主题展开,系统梳理了2026年主流平台的特性与差异。内容涵盖微信、支付宝、抖音三大平台的功能对比、适用场景及操作流程解析,并结合实际案例深度剖析技术实现原理。同时提供选型指南与实操建议,帮助用户根据业…...

手机资料恢复

在数字化生活高度渗透的今天,手机早已不仅是通讯工具,更是承载个人记忆、工作文档与社交关系的核心载体。一张重要的照片、一份未备份的合同、一段珍贵的聊天记录,一旦因误操作或意外损坏而丢失,带来的往往是情感上的失落与业务上…...

D3KeyHelper:暗黑3游戏宏助手终极指南,五分钟轻松搞定技能连点

D3KeyHelper:暗黑3游戏宏助手终极指南,五分钟轻松搞定技能连点 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 想要在《暗黑破…...