SQL 中如何拼写时间类型

1083人阅读 评论(0) 收藏 举报
今天在作统计的时候,要在一用户表中查询出某一用户的注册时间,该字段数据原型为“20030101”,即为2003-01-01的意识,然后求出到该次查询为止这一用户的在网时间,因为DB2中的date()函数只支持
date('2003-01-01')或date('01.01.2003')二种参数形式,所以不管用那种都要在数据原型中进行拆分,即分别拆分出年、月、日 ,然后重新拼凑在一起。思路比较简单,但如果处理不好sql会把拼凑时的‘-’号作为数据操作符来出来。我也是搞了二个小时才搞好,我晕,思路混乱~~~
所以特意记下来,以便以后查询:
SET STMT= 'INSERT INTO SESSION.'||MID_TABLE3||'('||MID_TABLE_SEG2||') ' 
||' SELECT MBL_NUM,'
||' DAYS(DATE('''||DATE_OF_EXTRACTION||'-01''))-DAYS(DATE(CHAR(LEFT(LTRIM(CHAR(SUBS_DATE_ID/10000)),4)||''-''||'
||' RIGHT(RTRIM(CHAR(SUBS_DATE_ID/100)),2)||''-''||'
||' RIGHT(RTRIM(CHAR(SUBS_DATE_ID)),2))))'
||' FROM '
||FROM_TABLE03||APP_MONTH1
||' WITH UR ';
INSERT INTO DYN_SQL_BDY VALUES (TO_TABLE, STMT);COMMIT;PREPARE S FROM STMT;EXECUTE S;COMMIT;
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:569514次
    • 积分:7465
    • 等级:
    • 排名:第2889名
    • 原创:205篇
    • 转载:36篇
    • 译文:1篇
    • 评论:209条
    最新评论
    Mono