db2数据库Date相关函数
1、db2可以通过SYSIBM.SYSDUMMY1、SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值。
SELECT 'HELLO DB2' FROM SYSIBM.SYSDUMMY1;--HELLO DB2
SELECT 'HELLO DB2' FROM SYSIBM.DUAL;--HELLO DB2
VALUES 'HELLO DB2';--HELLO DB2
2、CURRENT DATE获取当前日期;CURRENT TIME获取当前时间;CURRENT TIMESTAMP获取当前时间戳(含年、月、日、时、分、秒)。
VALUES CURRENT DATE--2012/5/25 0:00:00;
VALUES CURRENT TIME--20:48:53;
VALUES CURRENT TIMESTAMP--2012/5/25 20:49:12;
3、YEAR()获取年;MONTH()获取月;DAY()获取日;
     HOUR()获取小时;MINUTE()获取分钟;SECOND()获取秒;
     DATE()获取日期;TIME()获取时间;TIMESTAMP()获取时间戳。
     以上函数参数可以是日期时间类型,也可以为日期时间格式的字符串。

VALUES YEAR(CURRENT TIMESTAMP);/*2012*/  VALUES YEAR('2012-05-25 21:18:12');/*2012*/
VALUES MONTH(CURRENT TIMESTAMP);/*5*/  VALUES MONTH('2012-05-25 21:18:12');/*5*/
VALUES DAY(CURRENT TIMESTAMP);/*25*/  VALUES DAY('2012-05-25 21:18:12');/*25*/
VALUES HOUR(CURRENT TIMESTAMP);/*21*/  VALUES HOUR('2012-05-25 21:18:12');/*21*/
VALUES MINUTE(CURRENT TIMESTAMP);/*18*/  VALUES MINUTE('2012-05-25 21:18:12');/*18*/
VALUES SECOND(CURRENT TIMESTAMP);/*12*/   VALUES SECOND('2012-05-25 21:18:12');/*12*/
VALUES DATE(CURRENT TIMESTAMP);/*2012/5/25 0:00:00*/  VALUES DATE('2012-05-25 21:18:12');/*2012/5/25 0:00:00*/
VALUES TIME(CURRENT TIMESTAMP);/*21:18:12*/  VALUES TIME('2012-05-25 21:18:12');/*21:18:12*/
VALUES TIMESTAMP(CURRENT TIMESTAMP);/*2012/5/25 21:18:12*/  VALUES TIMESTAMP('2012-05-25 21:18:12');/*2012/5/25 21:18:12*/

4、db2时间可以直接加减带单位的时间长度。

VALUES TIMESTAMP('2012-5-25 21:18:12')+1 YEAR;--2013/5/25 21:18:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 MONTH;--2012/6/25 21:18:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 DAY;--2012/5/26 21:18:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 HOUR;--2012/5/25 22:18:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 MINUTE;--2012/5/25 21:19:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 SECOND;--2012/5/25 21:18:13
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 YEAR+1 MONTH+1 DAY+1 HOUR+1 MINUTE +1 SECOND ;--2013/6/26 22:19:13
VALUES TIMESTAMP('2012-5-25 21:18:12')-1 YEAR-1 MONTH-1 DAY-1 HOUR-1 MINUTE -1 SECOND ;--2011/4/24 20:17:11

5、通过days()可以获取两个时间相差天数。
VALUES DAYS(CURRENT DATE)-DAYS(CURRENT DATE-1000 DAY);--1000
6、TO_CHAR()把时间转换成指定格式的字符串类型(db2较低版本不支持)。
     “YYYY-MM-DD HH:MI:SS” 十二小时制;“YYYY-MM-DD HH24:MI:SS” 二十四小时制。
     (“YYYY-MM-DD hh:mm:ss”不会报错,但是mm值取的是月的值。)
SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD') FROM SYSIBM.DUAL;--2012-05-25
SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD HH:MI:SS') FROM SYSIBM.DUAL;--2012-05-25 09:18:12
SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD HH24:MI:SS') FROM SYSIBM.DUAL;--2012-05-25 21:18:12
(SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD HH24:MM:SS') FROM SYSIBM.DUAL;--2012-05-25 21:05:12)
7、DAYNAME()返回指定日期的星期名,该星期名是由首字符大写、其他字符小写组成的英文名。
values DAYNAME(current timestamp)--Friday(当天为星期五)
8、DAYOFWEEK()返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。
values DAYOFWEEK(current timestamp);--6(当天为星期五)
9、DAYOFWEEK_ISO()返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。
values DAYOFWEEK_ISO(current timestamp);--5(当前为星期五)
10、DAYOFYEAR()返回参数中一年中的第几天,用范围在 1-366 的整数值表示。
values DAYOFYEAR(DATE('2012-02-01'));--
11、MONTHNAME()对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。
values MONTHNAME(CURRENT TIMESTAMP);--May(当前为五月)
12、WEEK()返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。(参数可以为日期格式或者日期格式的字符串)
VALUES WEEK('2012-05-25')--
13、TIMESTAMPDIFF(n,CHAR(TIMESTAMP('2012-05-25 10:23:24')-TIMESTAMP('2012-05-25 10:20:24')))根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。(整除部分,不会四舍五入)
n=2:秒 ; n=4 :分; n=8:时;
n=16 :天; n=32 :周;n=64:月;
n=128 :季度; n=256:年;

VALUES TIMESTAMPDIFF(2,CHAR(TIMESTAMP('2012-05-25 10:23:24')-TIMESTAMP('2012-05-25 10:20:24')));--180秒
VALUES TIMESTAMPDIFF(4,CHAR(TIMESTAMP('2012-05-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--123分钟
VALUES TIMESTAMPDIFF(8,CHAR(TIMESTAMP('2012-05-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--2小时
VALUES TIMESTAMPDIFF(16,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--60天
VALUES TIMESTAMPDIFF(32,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--8周
VALUES TIMESTAMPDIFF(64,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--2月
VALUES TIMESTAMPDIFF(128,CHAR(TIMESTAMP('2012-08-25 10:20:22')-TIMESTAMP('2012-05-25 10:20:22')));--1季度
VALUES TIMESTAMPDIFF(256,CHAR(TIMESTAMP('2013-05-25 10:20:22')-TIMESTAMP('2012-05-25 10:20:22')));--1年

14、时期的格式。ISO,使用国际标准组织(ISO)制订的日期和时间格式;USA,使用美国日期和时间的 IBM 标准格式。
values char(current date,iso)--2012-05-25
values char(current date,usa)--05/25/2012
values char(current time,iso)--23.21.32
db2数据库Date相关函数的更多相关文章
- (转)Db2 数据库常见堵塞问题分析和处理
		
原文:https://www.ibm.com/developerworks/cn/analytics/library/ba-lo-db2-common-blocking-problem-analyze ...
 - DB2 数据库常用操作【持续更新】
		
好久没写博客了. 上次还是两个月前. 1. 连接数据库 db2 connect to dbName user userName using password 2. 查看表结构 db2 "de ...
 - Python爬虫:爬取某网站关键词对应商品ID,且存入DB2数据库
		
公司研发不给力,我就自己写了一个,专门爬关键词对应的商品ID. 其中还学会了用Python操作DB2数据库.Python发送邮件.写日志文件.处理浏览器访问限制. #!/usr/bin/python# ...
 - DB2学习总结(1)——DB2数据库基础入门
		
DB2的特性 完全Web使能的:可以利用HTTP来发送询问给服务器. 高度可缩放和可靠:高负荷时可利用多处理器和大内存,可以跨服务器地分布数据库和数据负荷:能够以最小的数据丢失快速地恢复,提供多种备份 ...
 - Shell脚本实现DB2数据库表导出到文件
		
该Shell脚本用于实现将DB2数据库表导出到文件,将在另一篇博文<Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件>中通过Java代码实现调用该脚本并传入参数. #! ...
 - mysql5.x升级至mysql5.7后导入之前数据库date出错的解决方法!
		
mysql5.x升级至mysql5.7后导入之前数据库date出错的解决方法! 修改mysql5.7的配置文件即可解决,方法如下: linux版:找到mysql的安装路径进入默认的为/usr/shar ...
 - mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法【mysql低版本数据导入到高版本出错的解决方法】
		
mysql5.x升级至mysql5.7后导入之前数据库date出错,这是由于MySQL的sql_mode的影响,解决方法如下所示: [具体参考:mysql的sql_mode详解]修改mysql5.7的 ...
 - Db2数据库的备份和恢复
		
DB2数据库备份与恢复 1. 备份 1.1离线备份(必须在数据库所在PC机进行操作) STEP 1 连接到要备份的数据库 C:\Documents and Settings\Administra ...
 - db2数据库安装注意几个问题
		
1.安装数据库的时候,db2用户使用的是系统中的用户.创建完数据库你会发现你电脑多了一个用户(可以在控制面板中查看到) 2.安装完数据库需要创建数据库.打开命令行cmd(注意一定要用管理员身份打开,不 ...
 
随机推荐
- Chp10: Scalability and Memory Limits
			
The Step-by-Step Approach break down a tricky problem and to solve problems using what you do know. ...
 - Url重写和伪静态
			
这里是URL重写的精华:http://msdn.microsoft.com/zh-cn/library/ms972974.aspx感觉写的非常棒. 其实URL重写操作起来也是挺简单的,只要你在前台写好 ...
 - java基础知识回顾之javaIO类---FileWriter和FileReader
			
FileWriter类的构造方法定义如下: 1.public FileWriter(File file)throws IOException 字符流的操作比字节流操作好在一点,就是可以直接输出字符串了 ...
 - ZOJ 3757 Alice and Bob and Cue Sports(模拟)
			
题目链接 题意 : 玩台球.Alice 和 Bob,一共可以进行m次,Alice 先打.有一个白球和n个标有不同标号的球,称目标球为当前在桌子上的除了白球以外的数值最小的球,默认白球的标号为0.如果白 ...
 - css中的:before与:after的简单使用
			
直接上代码,不多说了! 画三角形 1). <style type="text/css"> .triangle{ width: 0; height: 0; /*borde ...
 - ASP.NET中App_Code,App_Data等文件夹的作用
			
http://www.cnblogs.com/shiyu007/archive/2007/12/04/982264.html 1. Bin文件夹 Bin文件夹包含应用程序所需的,用于控件.组件或者需 ...
 - eclipse配置jdk问题
			
1.JDK安装成功,eclipse也安装成功,这时候实际上是可以不配置JDK,因为系统已经默认给你配置好了,
 - java io异步
			
1.一般来说,可以通过多线程的方式来实现异步 2.同步和异步着重点在于多个任务的执行过程中,一个任务的执行是否会导致整个流程的暂时等待: 3.而阻塞和非阻塞着重点在于发出一个请求操作时,如果进行操作的 ...
 - 如何获取多核、多cpu系统中指定cpu的序列号
			
如何获取多核.多cpu系统中指定cpu的序列号作者:SkyJacker(转贴请保持完整并注明作者和出处)http://www.cnpack.orgCnPack IV QQ Group: 130970 ...
 - Oracle配置详解
			
[Oracle连接字符串][Oracle Net Manager 服务命名配置][PL/SQL 登陆数据库] 连接数据库的几个重要参数: 1. 登陆用户名:user: 2. 登录密码:password ...