免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4002 | 回复: 2
打印 上一主题 下一主题

[求助] 关于db2时间格式转换~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-18 16:25 |只看该作者 |倒序浏览
SELECT SMP_CPU.WRITETIME, SMP_CPU."System_Name", SMP_CPU."Timestamp", SMP_CPU.CPU_ID, SMP_CPU."Idle_CPU", SMP_CPU."CPU_Busy", SMP_CPU."CPU_Status" FROM ITMUSER.SMP_CPU AS SMP_CPU WHERE SMP_CPU."System_Name" LIKE '%EPM01%'

这个是我现在的查询语句~
想把 "Timestamp" 的数据转换一下

导出的数据里   timestamp 是 1070112180014001
想转换为  容易看的懂的格式  yyyy-mm-dd-hh-mm or mm-dd-yyyy 这样都行

Timestamp
This the date and time the agent collects information as set on the monitored
system. The format of this time stamp is the same 16-character value
(cyymmddhhmmssttt) used for WRITETIME.


不知道应该怎么写这个语句
麻烦各位指点一下  正在google  谢谢了

[ 本帖最后由 Ayk 于 2007-1-18 16:31 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-01-19 15:37 |只看该作者
DROP FUNCTION DB2ADMIN.TSToChar;

CREATE FUNCTION DB2ADMIN.TSToChar(v_TS TimeStamp,v_Type varchar(50))
RETURNS VARCHAR(50)
RETURN
WITH Temp (dd,mm,yyyy,hh,mi,ss,nnnnnn) AS
(
    SELECT
    SUBSTR( digits (DAY(v_TS)),9),
    SUBSTR( digits (MONTH(v_TS)),9),
    RTRIM(CHAR(YEAR(v_TS))),
    SUBSTR( digits (HOUR(v_TS)),9),
    SUBSTR( digits (MINUTE(v_TS)),9),
    SUBSTR( digits (SECOND(v_TS)),9),
    RTRIM(CHAR(MICROSECOND(v_TS)))
    FROM sysibm.sysdummy1
    )
SELECT
CASE v_Type
    WHEN 'yyyymmdd'
        THEN yyyy || mm || dd
    WHEN 'yyyy/mm/dd'
        THEN yyyy || '/' || mm || '/' || dd
    WHEN 'yyyy-mm-dd'
        THEN yyyy || '-' || mm || '-' || dd
    WHEN 'yyyy/dd/mm hh:mi:ss'
        THEN yyyy || '/' || mm || '/' || dd || ' ' || hh || ':' || mi || ':' || ss
    WHEN 'yyyy-dd-mm-hh-mi-ss'
        THEN yyyy || '-' || mm || '-' || dd || '-' || hh || '-' || mi || '-' || ss
    ELSE
        '错误!输入的转换类型 ' || COALESCE(v_Type,' <null> ') ||
        ' 不能被识别。'
    END
FROM Temp;

/**************************************************************************************************
验证该函数的功能:

db2 values db2admin.TSToChar(CURRENT TIMESTAMP,'yyyy/dd/mm hh:mi:ss')
返回值为: 2006/11/01 11:19:16

db2 values db2admin.TSToChar(CURRENT TIMESTAMP,'yyyy-dd-mm-hh-mi-ss')
返回值为: 2007-01-19-15-36-36

**************************************************************************************************/

论坛徽章:
0
3 [报告]
发表于 2007-01-21 13:55 |只看该作者
感谢感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP