DB2中有关日期和时间的函数,及应用

DB2日期函数 DB2日期函数介绍,DB2函数开发有帮忙,大家可以看下 立即下载
DAYNAME         返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。   
DAYOFWEEK     返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。   
DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。   
DAYOFYEAR       返回参数中一年中的第几天,用范围在 1-366 的整数值表示。   
DAYS             返回日期的整数表示。   
JULIAN_DAY       返回从公元前 4712 年 1 月 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。   
MIDNIGHT_SECONDS   返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示。   
MONTHNAME           对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。   
TIMESTAMP_ISO       根据日期、时间或时间戳记参数而返回一个时间戳记值。   
TIMESTAMP_FORMAT    从已使用字符模板解释的字符串返回时间戳记。   
TIMESTAMPDIFF       根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。   
TO_CHAR             返回已用字符模板进行格式化的时间戳记的字符表示。TO_CHAR 是 VARCHAR_FORMAT 的同义词。   
TO_DATE             从已使用字符模板解释过的字符串返回时间戳记。TO_DATE 是 TIMESTAMP_FORMAT 的同义词。   
WEEK                返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。   
WEEK_ISO            返回参数中一年的第几周,用范围在 1-53 的整数值表示。

要使当前时间或当前时间戳记调整到 GMT/CUT,则把当前的时间或时间戳记减去当前时区寄存器:  
current time - current timezone  
current timestamp - current timezone  

给定了日期、时间或时间戳记,则使用适当的函数可以单独抽取出(如果适用的话)年、月、日、时、分、秒及微秒各部分:  
YEAR (current timestamp)  
MONTH (current timestamp)  
DAY (current timestamp)  
HOUR (current timestamp)  
MINUTE (current timestamp)  
SECOND (current timestamp)  
MICROSECOND (current timestamp)  

因为没有更好的术语,所以您还可以使用英语来执行日期和时间计算:  
current date + 1 YEAR  
current date + 3 YEARS + 2 MONTHS + 15 DAYS  
current time + 5 HOURS - 3 MINUTES + 10 SECONDS 

从时间戳记单独抽取出日期和时间也非常简单:  
DATE (current timestamp)  
TIME (current timestamp)

而以下示例描述了如何获得微秒部分归零的当前时间戳记:  

CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS  

如果想将日期或时间值与其它文本相衔接,那么需要先将该值转换成字符串。为此,只要使用 CHAR() 函数:  

char(current date)  
char(current time)  
char(current date + 12 hours)  

要将字符串转换成日期或时间值,可以使用:  

TIMESTAMP ('2002-10-20-12.00.00.000000')  
TIMESTAMP ('2002-10-20 12:00:00')  
DATE ('2002-10-20')  
DATE ('10/20/2002')  
TIME ('12:00:00')  
TIME ('12.00.00')  

TIMESTAMP()、DATE() 和 TIME() 函数接受更多种格式。上面几种格式只是示例,我将把它作为一个练习,让读者自己去发现其它格式。  

有时,您需要知道两个时间戳记之间的时差。为此,DB2 提供了一个名为 TIMESTAMPDIFF() 的内置函数。但该函数返回的是近似值,因为它不考虑闰年,而且假设每个月只有 30 天。以下示例描述了如何得到两个日期的近似时差:  

timestampdiff (, char(  
timestamp('2002-11-30-00.00.00')-  
timestamp('2002-11-08-00.00.00')))  

对于 ,可以使用以下各值来替代,以指出结果的时间单位:  

1 = 秒的小数部分   
2 = 秒   
4 = 分   
8 = 时   
16 = 天   
32 = 周   
64 = 月   
128 = 季度   
256 = 年   
当日期很接近时使用 timestampdiff() 比日期相差很大时精确。如果需要进行更精确的计算,可以使用以下方法来确定时差(按秒计):  

(DAYS(t1) - DAYS(t2)) * 86400 +    
(MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2))  

为方便起见,还可以对上面的方法创建 SQL 用户定义的函数:  

CREATE FUNCTION secondsdiff(t1 TIMESTAMP, t2 TIMESTAMP)  
RETURNS INT  
RETURN (  
(DAYS(t1) - DAYS(t2)) * 86400 +    
(MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2))  
)  
@  

如果需要确定给定年份是否是闰年,以下是一个很有用的 SQL 函数,您可以创建它来确定给定年份的天数:  

CREATE FUNCTION daysinyear(yr INT)  
RETURNS INT  
RETURN (CASE (mod(yr, 400)) WHEN 0 THEN 366 ELSE   
        CASE (mod(yr, 4))   WHEN 0 THEN   
        CASE (mod(yr, 100)) WHEN 0 THEN 365 ELSE 366 END   
        ELSE 365 END  
END)@  

最后,以下是一张用于日期操作的内置函数表。它旨在帮助您快速确定可能满足您要求的函数,但未提供完整的参考。有关这些函数的更多信息,请参考 SQL 参考大全。  

SQL 日期和时间函数   
DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。   
DAYOFWEEK 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。   
DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。   
DAYOFYEAR 返回参数中一年中的第几天,用范围在 1-366 的整数值表示。   
DAYS 返回日期的整数表示。   
JULIAN_DAY 返回从公元前 4712 年 1 月 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。   
MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示。   
MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。   
TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。   
TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。   
TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。   
TO_CHAR 返回已用字符模板进行格式化的时间戳记的字符表示。TO_CHAR 是 VARCHAR_FORMAT 的同义词。   
TO_DATE 从已使用字符模板解释过的字符串返回时间戳记。TO_DATE 是 TIMESTAMP_FORMAT 的同义词。   
WEEK 返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。   
WEEK_ISO 返回参数中一年的第几周,用范围在 1-53 的整数值表示。 

CS1237卡尔曼滤波实战:如何用24位ADC实现电子秤级精度? 本文详细介绍了如何利用CS1237 24位ADC芯片结合卡尔曼滤波算法实现电子秤级精度测量。通过解析CS1237硬件特性、卡尔曼滤波原理及STM32驱动优化,提供了一套完整的解决方案,包括多通道支持、驱动代码实现和性能调优技巧,适用于工业测量和嵌入式开发领域。 阅读详情

相关推荐

【Python爬虫】爬取企业专利信息

本来是个美好的周末的,但是周五晚上领导给了一个公司名称的Excel,让把这些公司的专利信息爬取下来。本文记录了爬取企业专利信息的心酸过程。码字不易,喜欢请点赞!!! 一、找寻目标网页 在接到这个任务之后,我的内心是拒绝的。但是又不能不干。因此首先我需要先找到有公司专利信息的地方。在一番查找和问了问朋友之后,我知道中国专利网、国家知识产权网、Incopat、天眼查、企查查这些网站上面都有企业的专利...

Asher117的博客 2万+

[转载]DB2 日期和时间的使用

这篇短文是为那些刚接触 DB2 并想理解如何操作日期和时间的新手而写的。使用过其它数据库的大部分人都会很惊喜地发现在 DB2 中操作日期和时间是多么简单。 要使用 SQL 获得当前的日期、时间及时间戳记,请参考适当的 DB2 寄存器: SELECT current date FROM sysibm.sysdummy1 SELECT current time FROM sysibm.sysdummy

huanglin的专栏 1316

n8n实战:动态报表生成与企业微信自动化推送

本文详细介绍了如何利用n8n实现动态报表生成与企业微信自动化推送的全流程。通过配置n8n Form触发器、智能报表生成核心逻辑以及企业微信Webhook推送,帮助企业大幅提升数据收集与报表推送效率,实现从数据录入到报表推送的全自动化处理。

weixin_29267307的博客 304

ORACLE和DB2判断日期是否合法

今天校验数据的时候,在A环境写了一个日期是否合法的校验函数,脚本正常执行,导入B环境,提示日期校验函数错误。分析很久,始终没有找到问题,最后才发现,原来A环境为DB2,B环境为ORACLE。在这两个环境下实现是否为日期的函数差别挺大,下面做一个简单的分析。 DB2环境函数实现如下: CREATE OR REPLACE FUNCTION "GETISDATE" ( "VI

阿飞哥的博客 4935

手把手教你用DCT/DCG实现Multi-bit FF物理优化(含SPG流程避坑指南)

本文详细解析了Multi-bit FF(MBFF)在芯片物理实现中的优化方法,重点介绍了DCT/DCG与SPG流程的实战应用。通过物理感知综合、寄存器组识别和增量优化三阶段流程,实现PPA(Power-Performance-Area)的协同提升。文章还提供了Innovus与ICC工具的协同优化策略及典型问题排查指南,帮助工程师高效完成MBFF物理优化。

ik67890123的博客 242

STM32驱动数码管:从硬件连接到动态显示实现

本文详细介绍了使用STM32单片机驱动数码管的完整流程,从硬件连接到软件实现。内容涵盖共阳/共阴数码管原理、GPIO配置、段码表生成,并重点解析了多位数码管动态显示的核心技术,包括动态扫描原理、消影处理及实战代码,帮助开发者快速掌握这一嵌入式开发基础技能。

p5l2m9n4o6q的博客 575

db-判断是否为日期

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Dat...

dxm809的博客 288

PT32F030与MT6826S SPI通讯实战:从硬件连接到数据交互全流程解析

本文详细解析了PT32F030与MT6826S通过SPI通讯的全流程,包括硬件连接、电路设计、SPI外设初始化配置以及数据交互协议实现。通过实战案例和代码示例,帮助开发者快速掌握PT32F030与MT6826S的SPI通讯技术,实现精准的角度和速度数据采集。

weixin_29189373的博客 420

DB2中有关日期和时间的函数及应用

DAYNAME         返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。   DAYOFWEEK    返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。   DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。   DAYOFYEAR          返回参数中一年中的

程序、软件、数据库等交流、开发专栏 1007

从网口变压器到TVS管:手把手设计通过4KV浪涌的以太网电路

本文详细解析工业级以太网接口4KV浪涌防护设计,从网口变压器选型到TVS管布局,提供通过IEC61000-4-5标准测试的完整方案。重点介绍Bob Smith电路优化和PCB设计技巧,帮助工程师有效应对雷电感应和设备开关瞬态干扰,确保工业设备稳定运行。

study的专栏 284

YOLOv11改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构

本文记录的是基于的YOLOv11网络模型轻量化方法研究。GhostNet中的Ghost模块和Ghost瓶颈结构是其轻量化的关键。Ghost模块克服了传统卷积层计算资源需求大的问题,Ghost瓶颈则合理设计了通道数量的变化以及与捷径连接的方式,能更好地在减少计算成本的同时保持较高性能,从而提升模型在移动设备上的应用能力和效率。

Limiiiing的博客 1430

DB2日期和时间的函数,及应用

DAYNAME       返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。   DAYOFWEEK      返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。   DAYOFWEEK_ISO    返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。   DAYOFYEAR             返回参...

lumans的专栏 238

论文必备 - 绘制YOLOv8模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线

文件是模型在训练过程中,实时记录训练的结果,和当时控制台输出的信息一致。当然还包含一些验证损失,学习率变化等数据。epoch:记录训练的轮次,总轮次为训练文件中设置的epochs大小。:边界框损失。在训练过程中,此值逐渐变小,越小表示模型预测的边界框与真实边界框之间的差异越小。:分类损失。在训练过程中,此值逐渐变小,越小表示模型对目标类别的预测越准确。:分布焦点损失。将边界框的回归问题转化为对边界框四个边的分布预测问题,越小表示预测越准确。:精确率也称为查准率。

Limiiiing的博客 1407

DB2中有关日期和时间的函数,及应用

DAYNAME         返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。    DAYOFWEEK    返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。    DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。    DAYOFYEAR          返回参

milife2012的专栏 1373

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

DB2 日期和时间的函数应用总结

DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。 DAYOFWEEK 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。 DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。 DAYOFYEAR 返回参数中一年中的第几天,用范围在 1-366 的整数值表

程序猿老樊的博客 1448

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

DB2中有关日期和时间的函数,及应用(转)

DAYNAME         返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。   DAYOFWEEK    返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。   DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。   DAYOFYEAR          返回

mengsuo的专栏 1149

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

db2 date java_DB2中有关日期和时间的函数,及应用(转)

DAYNAME返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。DAYOFWEEK返回参数中的星期几,用范围在1-7的整数值表示,其中1代表星期日。DAYOFWEEK_ISO返回参数中的星期几,用范围在1-7的整数值表示,其中1代表星期一。DAYOFYEAR返回参数中一年中的第几天,用范围在...

weixin_39764212的博客 517
上一篇: DB2 XQuery 的使用
下一篇: SQL server Exec中变量的传递
Trance
博客等级 码龄23年 2粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值