`
noknower
  • 浏览: 120098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

日期以及时间的使用

    博客分类:
  • DB2
DB2 
阅读更多
首先要说的废话是:看完本文后大家会发现,DB2中的日期和时间处理非常简单也非常灵活!
本文中的语句都经过测试,大家可以在命令编辑器中执行以查看结果,笔者的结果集仅供参考。

1、DB2中日期、时间寄存器的使用

--取日期
SELECT CURRENT DATE FROM sysibm.sysdummy1;
--返回数据类型:DATE
--结果集(YYYY-MM-DD): 2005-12-22

--取时间
SELECT CURRENT TIME FROM sysibm.sysdummy1;
--返回数据类型:TIME
--结果集(HH-MM-SS): 10:10:21

--取时间戳记
SELECT CURRENT TIMESTAMP FROM sysibm.sysdummy1;
--返回数据类型:TIMESTAMP
--结果集(YYYY-MM-DD HH-MM-SS XXXXXX): 2005-12-22 10:10:22 187002

说明:sysibm.sysdummy1表是一个特殊的内存中的表,专门用于存储系统日期和时间。
推荐大家使用 VALUES 函数直接来进行操作。
以上的语句可以改写为:

--取日期
VALUES CURRENT DATE;
--取时间
VALUES CURRENT TIME;
--取时间戳记
VALUES CURRENT TIMESTAMP;

2、DB2中日期、时间的常用函数介绍

--取年份
VALUES YEAR(CURRENT TIMESTAMP);
--返回值:2005

--取月份
VALUES MONTH(CURRENT TIMESTAMP);
--返回值:12

--取天
VALUES DAY(CURRENT TIMESTAMP);
--返回值:22

--取星期
VALUES DAYOFWEEK(CURRENT TIMESTAMP);
--返回值:5
--说明:取值范围为1-7,1代表星期日,所以今天是星期四,得出的值为5!

VALUES  DAYNAME(CURRENT TIMESTAMP);
--返回值:星期五

--取小时
VALUES HOUR(CURRENT TIMESTAMP);
--返回值:10

--取分钟
VALUES MINUTE(CURRENT TIMESTAMP);
--返回值:27

--取秒
VALUES SECOND(CURRENT TIMESTAMP);
--返回值:08

--取毫秒
VALUES MICROSECOND(CURRENT TIMESTAMP);
--返回值:890001

说明:以上函数可以直接供大家在存储过程以及自定义函数或者触发器中直接调用,所有返回类型均为 INTEGER

--取日期
VALUES DATE(CURRENT TIMESTAMP);
--返回数据类型:DATE
--返回值:2005-12-22

--取时间
VALUES TIME(CURRENT TIMESTAMP);
--返回数据类型:TIME
--返回值:10:30:48

3、DB2中日期、时间的计算

--取明年的今天
VALUES CURRENT DATE + 1 YEAR;
--返回值:2006-12-12

--取前年的今天(两种写法都合法)
VALUES CURRENT DATE - 2 YEAR;
VALUES CURRENT DATE - 2 YEARS;
--返回值:2003-12-12

--取下一个小时后的时间
VALUES CURRENT TIME + 1 HOUR;
--返回值:11:38:25

--混合应用的示例1
VALUES CURRENT DATE + 2 YEARS - 1 MONTH + 10 DAYS;
--返回值:2007-12-2(笔者的当前日期为:2005-12-22,大家可以自己计算一下)

--混合应用的示例2
VALUES CURRENT TIME + 5 HOURS - 3 MINUTES + 10 SECONDS;
--返回值:15:39:22(笔者的当前时间为:10:42:12,大家可以自己计算一下)

--计算两个日期之间的间隔天数
VALUES DAYS(CURRENT DATE) - DAYS('2005-01-01');
--返回值:355

说明:DB2中日期、时间的计算非常的灵活,大家可以根据实际需求进行自己的计算

4、DB2中日期、时间的类型转换

--将日期、时间类型转换为字符串型
VALUES CHAR(CURRENT DATE);
VALUES CHAR(CURRENT TIMESTAMP);

--将字符串型转换为日期、时间类型
VALUES TIMESTAMP ('2005-12-22-12.00.00.000000');
VALUES TIMESTAMP ('2005-12-22 12:00:00');
VALUES DATE ('2005-12-22');
VALUES DATE ('12/22/2005');--注意:该格式为(MM/DD/YYYY)
VALUES TIME ('12:00:00');
VALUES TIME ('12.00.00');

说明:在实际应用中,TIMESTAMP()、DATE() 和 TIME() 函数接受更多种格式。其他的格式有兴趣的读者可以自己去发现。

--注意:DATE(2005-12-22)和DATE('2005-12-22')虽然都是合法的,但是结果不同!其实DATE(2005-12-22)等价与DATE(1971),具体原因这里就不详细讲述了。

VALUES DATE(2005-12-22)
--返回值:0006-5-25

VALUES DATE('2005-12-22')
--返回值:2005-12-22

5、DB2中日期、时间的补充说明

DAYNAME
返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,星期四)。

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 的整数值表示。

说明:在DB2中,日期、时间的函数还有很多,上面只列举了一些常用的函数,如果这些函数不能实现读者的需求,可以自己编写自定义函数。

分享到:
评论

相关推荐

    在PB中使用日期时间控件

    下面将详细介绍如何在PowerBuilder中使用日期时间控件,以及它的一些关键特性。 首先,我们需要了解PowerBuilder中的两种主要日期时间控件类型:DateTimeCtrl和DateCtrl。DateTimeCtrl允许用户选择日期和时间,而...

    VC/MFC使用日期控件设置、获取日期时间信息

    在这个话题中,我们将深入探讨如何在MFC应用中使用日期控件(CDateTimeCtrl)来设置和获取日期时间信息。日期控件是用户界面中常见的元素,它允许用户选择一个日期或时间,通常用于日程管理、事件记录等场景。 首先...

    Jquery时间日期控件[修改][日期时间-日期-时间]

    本文将深入探讨jQuery时间日期控件的使用,包括日期时间、单独日期和单独时分秒的选择功能,以及如何进行自定义样式修改。 jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互等...

    易语言高级日期时间框

    例如,如果你想通过`SendMessage`函数改变日期时间框的当前时间,你可以先查找相应的API函数或易语言内置命令,然后调用`SendMessage`,传入日期时间框的句柄、对应的消息ID(如`DTM_SETTIME`)以及新的时间值。...

    实例28 使用时间日期控件

    这个实例“实例28 使用时间日期控件”是为初学者设计的,旨在帮助他们理解和掌握如何在应用程序中有效地使用这些控件。 时间日期控件在PowerBuilder中主要有两种类型:DatePickers(日期选择器)和TimePickers...

    js时间日期输入框

    本篇文章将深入探讨如何在HTML中使用JavaScript实现时间日期输入框,并介绍一个常用的时间日期插件——`WdatePicker`。 首先,让我们来看看标题提到的“js时间日期输入框”。在HTML中,我们通常会使用`<input>`标签...

    WPF带时间的日期选择控件

    2. 使用第三方库:有一些开源库如Telerik、DevExpress等提供了扩展的UI控件,其中包括带有时间选择功能的日期选择器。这些库通常提供了丰富的定制选项和良好的用户体验。 3. XAML与C#结合:开发者可能利用XAML来...

    易语言日期时间框绑定编辑框

    总之,"易语言日期时间框绑定编辑框"是一个涉及用户界面交互、事件处理和数据同步的编程实践,它要求开发者熟练掌握易语言的控件操作、事件机制以及日期时间的处理。通过这样的练习,开发者可以更好地理解易语言的...

    易语言日期时间框源码.zip

    易语言是一种专为中国人设计的编程语言,它以简体...通过研究源码,不仅可以学习到如何使用日期时间框控件,还能了解到易语言中关于日期时间处理的基本方法和技巧,这对于提升编程能力、扩展项目功能都有很大的帮助。

    C# 常用日期时间函数

    在实际开发中,你可能还需要处理时区、日期时间的比较、日期时间的加减运算以及与数据库或网络API交互时的日期时间格式转换等任务。了解并熟练掌握这些函数和方法对于编写高效、准确的日期时间处理代码至关重要。

    WebForm下日期时间选择控件

    本文将深入探讨在WebForm下如何使用日期时间选择控件,以及其相关特性。 首先,日期时间选择控件允许用户方便地选取日期和时间,而无需手动输入。在WebForm中,ASP.NET提供了多种内置的日期时间选择控件,如`asp:...

    WPF日期时间控件

    本文将深入探讨“WPF日期时间控件”,包括它的功能、使用方式以及自定义日期时间格式的方法,并结合提供的源代码文件`DateTimePicker.xaml`和`DateTimePicker.xaml.cs`进行分析。 首先,WPF中的日期时间控件主要有...

    Uniapp日期时间选择插件支持更多选择方式日期范围日期时间范围

    实现这些功能,开发者通常会使用JavaScript内置的`Date`对象,但为了更高效和便捷,他们可能会依赖第三方库,如`moment.js`或`day.js`等,这些库提供了强大的日期时间处理功能,包括格式化、解析、比较和操作日期等...

    日期和时间格式

    在日期和时间模式字符串中,文本可以使用单引号 (') 引起来,以免进行解释。''" 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在分析时与输入字符串进行匹配。 日期和时间...

    WPF日期时间选择DateTimePicker

    - 在WPF中,可以通过实现`IValidatableObject`接口或使用`ValidationRule`来确保用户输入的日期时间符合特定的格式或逻辑。 7. **本地化与国际化** - DateTimePicker支持不同语言和文化的日期时间格式。通过设置`...

    Uni-App的一个支持多类型选择(日期、日期时间、时间)的时间选择插件

    【标题】中的“Uni-App的一个支持多类型选择(日期、日期时间、时间)的时间选择插件”指的是一款专为Uni-App框架设计的组件,它能够满足开发者在应用程序中选择日期、日期时间以及时间的需求。这个组件的灵活性使得...

    日期时间段查询功能 截止日期不能小于起止日期

    以上这些知识点都是实现“日期时间段查询功能 截止日期不能小于起止日期”这一功能所必需的,涵盖了前端、后端以及数据库层面的多个方面。通过深入理解和熟练掌握这些知识点,开发者可以构建出健壮且用户友好的时间...

    flex带时间的日期控件,直接使用

    为了解决这一局限,开发者通常会创建自定义控件或者寻找第三方库来实现日期时间选择器。描述中的“这个控件解决了这个问题”,可能是指一个已有的自定义组件或者第三方组件,它扩展了`DateField`,添加了选择时间的...

    swift-DatePicker日期选择器日期时间选择时间选择器

    本文将深入探讨`DatePicker`的使用方法,以及如何在Swift中进行日期和时间的处理。 ### 1. DatePicker的基本使用 `DatePicker`在Swift中通过`UIPickerView`类实现,它允许用户通过滚动界面选择特定的日期和时间。...

    HTML中带时间的日期控件

    总的来说,创建一个HTML中的带时间日期控件涉及HTML5的日期和时间输入类型、JavaScript库的运用以及可能的CSS样式调整,以实现一个统一的用户体验。开发者可以根据项目需求选择不同的库或编写自定义代码来满足特定的...

Global site tag (gtag.js) - Google Analytics