db2数据库系统日常管理和维护资料大全

上传人:第*** 文档编号:31073456 上传时间:2018-02-04 格式:DOC 页数:31 大小:158.50KB
返回 下载 相关 举报
db2数据库系统日常管理和维护资料大全_第1页
第1页 / 共31页
db2数据库系统日常管理和维护资料大全_第2页
第2页 / 共31页
db2数据库系统日常管理和维护资料大全_第3页
第3页 / 共31页
db2数据库系统日常管理和维护资料大全_第4页
第4页 / 共31页
db2数据库系统日常管理和维护资料大全_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《db2数据库系统日常管理和维护资料大全》由会员分享,可在线阅读,更多相关《db2数据库系统日常管理和维护资料大全(31页珍藏版)》请在金锄头文库上搜索。

1、Db2 V8 数据库系统日常管理和维护资料大全 DB2 中有关日期和时间的函数,及应用DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday) 。 DAYOFWEEK 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。 DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。 DAYOFYEAR 返回参数中一年中的第几天,用范围在 1-366 的整数值表示。 DAYS 返回日期的整数表示。 JULIAN_DAY 返回从公元前 4712 年 1 月 1 日(儒略日历的开始日期)

2、到参数中指定日期值之间的天数,用整数值表示。 MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示。 MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January) 。 TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。 TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。 TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。 TO_CHAR 返回已用字符模板进行格式化的时间戳记的字符表示。TO_C

3、HAR 是 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 给定了日期、时间

4、或时间戳记,则使用适当的函数可以单独抽取出(如果适用的话)年、月、日、时、分、秒及微秒各部分: 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

5、 + 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

6、(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() 函数接受更多种格式。上面几种格式只是示例,我将把它作为一个练习,让读者自己去发现其它格式。 有时

7、,您需要知道两个时间戳记之间的时差。为此,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 = 年 当日期很接近

8、时使用 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)

9、 - 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) 最后,以下是一张用于日期操作的内置函数表。它旨在帮助您快速确定可能

10、满足您要求的函数,但未提供完整的参考。有关这些函数的更多信息,请参考 SQL 参考大全。 SQL 日期和时间函数 DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday) 。 DAYOFWEEK 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。 DAYOFYEAR 返回参数中一年中的第几天,用范围在 1-366 的整数值表示。 DAYS 返回日期的整数表示。 JULIAN_DAY 返回从公元前 4712 年 1 月 1

11、 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。 MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示。 MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January) 。 TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。 TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。 TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。 TO_CHAR 返回已用字符模板进行格式化的时

12、间戳记的字符表示。TO_CHAR 是 VARCHAR_FORMAT 的同义词。 TO_DATE 从已使用字符模板解释过的字符串返回时间戳记。TO_DATE 是 TIMESTAMP_FORMAT 的同义词。 WEEK 返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。 DB2 常用标量函数函数名 说明AVG() 返回一组数值的平均值VAR(), 返回一组数值的方差ASCII() 返回整数参数最左边的字符的 ASCII 码BIGINT() 返回整型常量中的数字或字符串的 64 位整数表示CHAR() 返回日期时间型,字符串,整数,十进制或双精度浮点数的字符串表示CH

13、R() 返回具有由参数指定的 ASCII 码的字符CONCAT(str1,str2) 返回两个字符串的连接YEAR() 返回数值的年部分UCASE() 返回字符串的大写TIME() 返回一个数值中的时间SUBSTR(EXP1,EXP2) 返回 EXP1 串自 EXP2 处开始的子串SECOND() 返回一个数值的秒部分RTRIM() 删除字符串尾部的空格ROUND(EXP1,EXP2) 返回 EXP1 小数点右边的第 EXP2 位置处开始的四舍五入值REPLACE(EXP1,EXP2,EXP3) 用 EXP3 替代 EXP1 中所有的 EXP2REAL() 返回一个数值的单精度浮点数表示RAN

14、D() 返回 0 和 1 之间的随机浮点数POSSTR(EXP1,EXP2) 返回 EXP2 在 EXP1 中的位置MONTH() 返回一个数值的月部分MOD(EXP1,EXP2) 返回 EXP1 除以 EXP2 的余数MINUTE() 返回一个数值的分钟部分LTRIM() 删除字符串前面的空格HOUR() 返回一个数值的小时部分DB2 中的限制之三字符串的限制在現實的 DB2 應用中大家可能經常會遇到一些錯誤,錯誤的原因是對 DB2 的限制不太了解而引起的,在此我簡單地總結一下,歡迎大家繼續以便和大家共享共同探討共同近步(以下主要以 DB2 7.X 為例)。1. CHAR 的最大長度(字節數)!DIRC:16. 在 CLP 中命令过长怎么办 ?用 作为续行符号17. 如何获得 DB2 的命令的语法相关信息 ?DB2? 显示所有 DB2 命令DB2?COMMAND 显示命令信息DB2?SQLnnnn 显示这个 SQLCODE 的解释信息DB2?DB2nnnn 显示这个 DB2 错误的解释信息18. 如何查看当前 CLP 的设置 ?DB2=LISTCOMANDOPTIONS19. 如何更新当前 CLP 会话的特定项设置 ?DB2UPDATECOMMANDOPTIONSUSINGOPTIONS.20.COMMANDWINDOWS 可以通过哪

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号