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 返回已用字符模板进行格式化的时间戳记的字符表示。 VARCHAR_FORMAT 的同义词。
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 (<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)@
发表评论
-
SQLSERVER存储过程改为DB2存储过程
2009-11-21 23:38 1224CREATE PROCEDURE sp抄表 (@j ... -
探讨SQL语句技巧 优化DB2应用程序性能
2009-11-21 23:06 903本文以IBM的关系数据库 ... -
数据库优化之SQL语句性能调整原则
2009-11-21 23:05 745一、问题的提出 在应用系统开发初期,由于开发数据库数据比 ... -
DB2数据库SQL编码优化基础
2009-11-21 23:04 846简介 当要保证用 IBM DB2® Universal ... -
DB2数据库的隔离级解读
2009-11-21 23:01 817基本信息 摘要:在DB2中,共有四种隔离级:RS,RR, ... -
java调用db2存储过程例子
2009-11-21 22:44 41611. JAVA 调用db2存储过程最 ... -
DB2 中游标的使用以及 存储过程的写法
2009-11-21 22:39 1267from:http://j2megame.bokee.com/ ... -
DB2的存储过程调用例子
2009-11-21 22:35 2975语法说明1、procedure-name: 存储过程的名字,在 ... -
DB2下JAVA编程注意问题
2009-11-21 22:20 16591、DB2升级后JDBC无法连 ... -
DB2表及sp管理
2009-11-21 22:00 12333.1 看存储过程文本 select text from ... -
DB2编程性能注意
2009-11-21 21:58 8262.1 大数据的导表 应该是export后再 ... -
DB2编程序技巧 (四)
2009-11-21 21:51 5391.16 存储过程fence及unfence fence的存储 ... -
DB2编程序技巧 (三)
2009-11-21 21:50 7981.12 从存储过程返回结果集(游标)的用法 1、建一s ... -
DB2编程序技巧(二)
2009-11-21 21:49 8121.6 类似charindex查找字符在字串中的位置 ... -
DB2编程序技巧(一)
2009-11-21 21:49 7221.1 建存储过程时Create 后一定不要用TAB键 ... -
DB2中通用的存储过程分页程序
2009-11-21 21:48 715CREATE PROCEDURE SALES.DB2PAGIN ... -
DB2编程技巧
2009-11-21 21:38 8721 DB2编程 1.1 建存储过程 ... -
DB2存储过程例子
2009-11-21 21:23 1576CREATE PROCEDURE IPD.st_inter_P ... -
DB2sql存储过程基础
2009-11-21 20:43 761基本概念: 存储过程即stored procedure,一般会 ... -
DB2存储过程入门(一)
2009-11-21 19:58 1118首先,打开DB2开发中心,新建项目后,连接上指定的数据库。右键 ...
相关推荐
DB2日期函数介绍,DB2函数开发有帮忙,大家可以看下
这是一个db2日期处理相关的word。有具体的例子和一些函数等。
自己总结的关于 db2数据库当前日期和前一天日期的sql语句
自己总结的,DB2日期函数的处理经验和转换语法,值得一看
源文件:光盘\源文件\03\038.xlsx 第4章 时间和日期函数 用例1:统计从发货至收到货款的时间(NOW) 源文件:光盘\源文件\04\04.xlsx 用例2:计算奖金(MINUTE) 源文件:光盘\源文件\04\019.xlsx 用例3:计算产品...
包含了日常使用DB2时用到的绝大部分命令、函数,像配置数据库参数、支持的sql函数
本书从函数功能、函数格式、参数说明、注意事项、Excel 版本提醒、案例应用、交叉参考7 个方面,全面、细致地介绍了Excel 2016/2013/2010/2007/2003 中公式和函数的使用方法、实际应用和操作技巧。最后3 章还将公式...
date_expr) 返回日期加上 number 上述函数中datepart的 写法 取值和意义 yy 1753-9999 年份 qq 1-4 刻 mm 1-12 月 dy 1-366 日 dd 1-31 日 wk 1-54 周 dw 1-7 周几 hh 0-23 ...
本书不但融合了作者在使用SQL Server 2000过程中遇到的各种常见问题和应用案例,还总结了作者几年来在CSDN 社区SQL Server版所解决的大量问题,面向实际项目需求,涉及不同类型的应用,能够多角度地引导读者学习相关...
本书特色:主要介绍SQL的语法规则及在实际开发中的应用,并且对SQL在MySQL、MS SQL Server、Oracle和DB2中的差异进行了分析;详细讲解数据库对增、删、改、查等SQL的支持并给出了相应的SQL应用案例;透彻分析函数...
5.4.4日期和时间值的格式选项161 5.5文件的处理161 5.5.1文件的管理162 5.5.2目录的管理163 5.5.3遍历目录中的文件163 5.5.4文本文件的处理166 5.5.5 分隔文本文件的处理167 5.5.6二进制文件的处理169 5.5.7 ...
5.4.4日期和时间值的格式选项161 5.5文件的处理161 5.5.1文件的管理162 5.5.2目录的管理163 5.5.3遍历目录中的文件163 5.5.4文本文件的处理166 5.5.5 分隔文本文件的处理167 5.5.6二进制文件的处理169 5.5.7 ...
2. ezService高级服务允许按照类pascal语法规则自由书写脚本,实现复杂业务逻辑,新版本可以支持自Borland Delphi 7导出的大量函数和对象。同时提供了对COM的直接支持,可以通过引用COM组件,与外部系统进行复杂的...
11.7.1 计算销售确认日和制单日之间相差的天数 11.7.2 计算两张销售单之间的时间间隔 11.7.3 计算销售单制单日期所在年份的天数 11.7.4 计算销售单制单日期所在月份的第一天和最后一天 11.8 结果集转置 ...
11.7.1 计算销售确认日和制单日之间相差的天数 11.7.2 计算两张销售单之间的时间间隔 11.7.3 计算销售单制单日期所在年份的天数 11.7.4 计算销售单制单日期所在月份的第一天和最后一天 11.8 结果集转置 ...
11.7.1 计算销售确认日和制单日之间相差的天数 11.7.2 计算两张销售单之间的时间间隔 11.7.3 计算销售单制单日期所在年份的天数 11.7.4 计算销售单制单日期所在月份的第一天和最后一天 11.8 结果集转置 ...
11.7.1 计算销售确认日和制单日之间相差的天数 11.7.2 计算两张销售单之间的时间间隔 11.7.3 计算销售单制单日期所在年份的天数 11.7.4 计算销售单制单日期所在月份的第一天和最后一天 11.8 结果集转置 ...
expireat设置一个具体的时间,15年9月8日15点19分10秒,过了这个时间,ex2将失效 如果设置过期时间成功会返回True,反之返回False ''' pool = redis.ConnectionPool(host='192.168.3.128', port=6379, db=0) r = ...