`

db2 相关(一)

 
阅读更多

 

 

 

一,DB2 分页语句 sql

 

select * from (
 select t.* , rownumber() over( order by t.CRP_NO) as rowno  from FIN_TRN_STS t ) temp
where temp.rowno between 1 and 10 ;

 

 

 

二,DB2 时间相关

DB2日期和时间的函数有:
    CURRENT DATE,
    CURRENT TIME,
    CURRENT TIMESTAMP

 

   yyyyMMdd 的表示方法:char(replace(char(current date , ISO),'-',''),8)

   HHmmss 的表示方法:char(replace(char(current time, ISO),'.',''),6)

 

 

三,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')

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

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

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

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

 

 

 

 

 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    DB2 11.5版本 jdbc db2jcc db2jcc4驱动

    4. **db2policy.jar**:可能包含DB2的权限和策略管理相关的类,用于控制数据库的访问和安全。 5. **db2dbgm.jar**:可能涉及到DB2的调试工具或功能,帮助开发者诊断和解决数据库问题。 6. **db2ext.jar**:扩展库...

    命令行登录db2数据库

    `db2cmd`是DB2提供的一种命令行接口,它创建了一个环境,使得用户可以在Windows操作系统上执行DB2相关的命令。通过启动`db2cmd`,我们可以访问与DB2相关的各种工具和命令,包括连接、查询、管理数据库等。 步骤1:...

    db2有关日期使用小结

    DB2 提供了多种方法来计算最近的月份的第一天、最后一天等日期。 - **获取本月最后一天**: ```sql SELECT LAST_DAY(SYSDATE) FROM sysibm.sysdummy1; ``` - **获取下个月第一天**: ```sql -- 直接计算 ...

    DB2 HELP DB2ir

    "DB2 HELP DB2ir" 指的是DB2的联机帮助系统,特别是关于DB2交互式查询(DB2 Interactive Repl)的相关内容。在这个部分,我们将深入探讨DB2的帮助系统以及DB2ir的功能和用法。 DB2的帮助系统为用户提供了一种方便的...

    db2jcc_license_cu/db2java/db2jcc

    压缩包子文件的文件名称列表仅提及"db2jcc夹包家族",这可能指的是一个包含所有这些jar文件和其他相关配置文件的目录结构,方便用户一次性获取并部署到他们的应用环境中。 总结来说,这些文件和目录是IBM DB2数据库...

    DB2 驱动包 db2jcc.jar db2jcc_javax.jar db2jcc_license_cu.jar

    DB2是一款由IBM开发的关系型数据库管理系统,广泛应用于企业级数据存储和管理。在Java环境中,为了连接到DB2数据库,我们需要使用特定的驱动程序,这些驱动程序通常以JAR(Java Archive)文件的形式存在。在您提供的...

    db2相关资料

    根据提供的文件信息,我们可以从中提炼出关于IBM DB2 9.7版本的相关知识点,特别是针对Linux、UNIX和Windows操作系统下的具体细节。以下是对这些知识点的详细解析: ### 一、IBM DB2 9.7 概览 #### 1.1 版本信息 -...

    IBM DB2 DRIVER DB2驱动(32位)

    3. **配置环境变量**:可能需要设置系统环境变量,如`DB2_HOME`指向驱动安装目录,以及`PATH`中添加相关可执行文件路径。 4. **注册驱动**:对于ODBC驱动,需要在ODBC数据源管理器中创建新的数据源,指定驱动和...

    db2驱动( db2jcc4.jar+db2jcc_license_cu.jar).zip

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在Java应用程序中,为了连接到DB2数据库,我们需要使用特定的驱动程序,这就是db2jcc4.jar和db2jcc_license_cu.jar这两个文件的...

    db2java db2jcc

    "db2java" 指代的是与DB2数据库相关的Java接口和类库,而"db2jcc"(DB2 Java Connect Client)是IBM提供的一个纯Java实现的数据库驱动,适用于跨平台连接,无需安装特定于操作系统的客户端软件。 在压缩包内的文件...

    DB2锁相关情况介绍

    ### DB2锁相关情况介绍 #### 一、DB2锁机制概述 DB2数据库系统提供了丰富的锁机制,用于控制并发事务对数据资源的访问,确保数据的一致性和完整性。锁在多用户环境中至关重要,它能避免多个事务同时修改同一数据...

    DB2 日期数据库的sql语句

    ### DB2数据库中获取当前日期与时间的相关SQL语句 在DB2数据库系统中,处理日期和时间数据是一项常见的需求。对于开发人员来说,能够准确地获取和操作日期时间数据至关重要。本文将详细介绍如何在DB2数据库中使用...

    Java连接db2 数据库jar包 db2jcc.jar db2jcc_license_cu.jar

    没有这个文件,Java应用程序可能会在尝试连接到DB2数据库时抛出许可证相关的异常。 在Java项目中使用这两个JAR文件的方法通常是将它们添加到项目的类路径(classpath)中。这可以通过以下几种方式实现: - **传统...

    centos7安装db2

    DB2是IBM推出的一款高性能的关系型数据库管理系统,广泛应用于企业级应用中。本文档提供了一个详细的过程,根据作者的亲自试验,来帮助用户完成DB2的安装工作。下面是根据给定文件内容总结的相关知识点。 ### 安装...

    DB2 V10学习文档

    DB2 V10是IBM推出的一个版本的数据库管理系统,它是DB2数据库软件系列的重要更新之一,该系列最初于1996年发布。DB2 V10这个版本特别针对Linux、UNIX和Windows操作系统进行了优化,它提供了丰富的功能以及性能改进,...

    DB2 V11.1 下载

    本压缩包包含的是专为Linux系统设计的DB2 V11.1版本,可能包含安装脚本、配置文件、数据库实例、数据文件以及相关的工具和实用程序。 下载DB2 V11.1对于需要在Linux环境中搭建数据库服务的用户来说非常重要,因为它...

    DB2 基础---DB2进程

    DB2是IBM开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。在DB2系统中,进程扮演着至关重要的角色,它们是系统运行的基础,负责执行SQL语句、管理内存、处理并发请求以及与操作系统进行交互。下面...

    db2驱动 db2注册 db2java.zip db2jcc.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar

    1. **db2java.zip**:这是一个压缩文件,可能包含DB2 Java驱动程序的相关类库和其他资源。解压后,用户可以找到用于连接DB2数据库的Java类库,这些类库使得Java应用程序能够通过JDBC(Java Database Connectivity)...

    db2自动生成数据库的语句

    对于IBM的DB2数据库管理系统而言,如何利用DB2命令行工具自动生成数据库是一个重要的技能点。本文将详细介绍如何使用DB2的命令来自动创建数据库,特别是在遇到数据库未完全删除的情况时如何处理。 #### 二、理解DB2...

    个人搜集的db2相关的资料

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。这个压缩包文件包含了关于DB2数据库的各类资料,对于学习和理解DB2有着重要的参考价值。以下将围绕标题、描述和标签中的关键词,详细...

Global site tag (gtag.js) - Google Analytics