客户化DB2日期/时间格式的示例

数据库
如果客户对我们的DB2数据库中的日期格式作出了要求,我们应该如何修改呢?下面给出了一个客户化的格式化函数,可以轻松解决这个问题。

客户化DB2日期是我们经常遇到的问题,如果您的客户希望日期格式为YYYYMMDD怎么办呢?***的方法时写一个客户化的格式化函数:

下面时就是客户化DB2日期函数的例子:

  1. create function ts_fmt(TS timestamp, fmt varchar(20))   
  2. returns varchar(50)   
  3. return   
  4. with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as   
  5. (   
  6. select   
  7. substr( digits (day(TS)),9),   
  8. substr( digits (month(TS)),9) ,   
  9. rtrim(char(year(TS))) ,   
  10. substr( digits (hour(TS)),9),   
  11. substr( digits (minute(TS)),9),   
  12. substr( digits (second(TS)),9),   
  13. rtrim(char(microsecond(TS)))   
  14. from sysibm.sysdummy1   
  15. )   
  16. select   
  17. case fmt   
  18. when 'yyyymmdd'   
  19. then yyyy || mm || dd   
  20. when 'mm/dd/yyyy'   
  21. then mm || '/' || dd || '/' || yyyy   
  22. when 'yyyy/dd/mm hh:mi:ss'   
  23. then yyyy || '/' || mm || '/' || dd || ' ' ||   
  24. hh || ':' || mi || ':' || ss   
  25. when 'nnnnnn'   
  26. then nnnnnn   
  27. else   
  28. 'date format ' || coalesce(fmt,' ') ||   
  29. ' not recognized.'   
  30. end   
  31. from tmp  

这个公式乍看起来比较复杂,细看一下,您会发现它还是很简单易用的。首先,使用公共表表达式(Common Table Expression)将时间格式中每一个部分提取出来,然后根据用户提供的日期格式重新组装输出。这个函数很灵活,用户可以简单地添加WHEN子句来加上期望的日期格式。使用函数时,如果输入的日期格式没有,函数还可以输出出错信息。

 

 

 

【编辑推荐】

DB2删除数据时的小技巧

DB2事件监控的命令

教您如何实现DB2在线导入

DB2在线导出的方法

db2存储过程常用语句

 

   

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-04 15:26:44

DB2日期格式

2010-11-04 14:57:35

DB2日期时间

2010-11-04 15:20:33

DB2日期函数

2010-11-01 14:26:12

DB2日期时间型数据类

2010-08-25 13:46:00

DB2函数日期

2010-08-13 11:11:25

DB2 基础日期

2010-08-10 17:39:52

DB2 基础

2010-08-05 09:41:03

DB2常用函数

2010-09-01 09:40:33

DB2函数OLAP

2011-05-17 10:17:57

DB2日期时间函数

2009-05-06 15:14:18

DB2日期时间

2009-07-20 09:44:31

DB2外部文件格式

2010-08-11 08:39:57

DB2 数据库

2011-05-17 10:11:24

IBM DB2维护

2010-08-02 11:38:43

DB2外部文件格式

2010-08-12 09:33:30

DB2数据库备份

2010-11-03 13:36:51

DB2时间函数

2010-08-27 11:28:39

DB2shell数据库

2010-08-06 11:28:51

DB2取得当前时间

2010-08-17 09:42:08

DB2日常备份
点赞
收藏

51CTO技术栈公众号