77家的会客2010

DB2的SQL将日期时间转化为数字串
Weather:暴雨没下下来

DB2中没有TO_CHAR函数,所以要将系统时间转化成字符串甚至是数字串的话,没有什么特别好的方法,但方法还是有的,虽然麻烦点。

INSERT INTO
LCDFLIB.FMOS01P(OSINPD,OSUSER,OSRKCD,OSSTRD,OSENDD,OSOSNI,OSCRDT,OSCRTM,OSCRTA)
 VALUES(
(CAST (SUBSTR(CHAR(current timestamp),1,4) || SUBSTR(CHAR(current timestamp),6,2)||
 SUBSTR(CHAR(current timestamp),9,2) || SUBSTR(CHAR(current timestamp),12,2) ||
 SUBSTR(CHAR(current timestamp),15,2) || SUBSTR(CHAR(current timestamp),18,2) AS BIGINT)
),'TANAKA    ','K22  ',20080815,20080914,'LJASLDFJWOIEJFLSDKJFL',20080818,153251,'TANAKA    ')

思路为,用current timestamp取系统的日期时间,然后用char()转化为字符串,再用SUBSTR()取出其中的数字部分,联接,最后再用CAST()函数将日期的数字串转换成大数值型。

由于日期的数字串长达14位,所以integer即int32长度不够,只能转换成BIGINT或是Decimal这种高精度的才行。

比如在.NET当中,要用Decimal.TryParse()而不能用Integer.TryParse()

(08/08) 加奥运班
南方真热 (09/21)
历史上的今天: [2005/08/18]谈子网掩码及其计算zt
[2005/08/18]通信网络常用词汇总结
[2005/08/18]TCP和UDP的最直白的理解
[2005/08/18]SQL SERVER中对查询结果随机排序

[DB2的SQL将日期时间转化为数字串]的回复

大雾 于 2008-08-24 15:47:13 发表 | IP:123.120.212.*

还是木有看懂。。。。我漂过。。。。。。

柠檬园主 于 2008-08-27 15:43:40 发表 | IP:221.201.145.*

大毛成那儿也许更难理解..呵呵

Post a Comment~