datastage里的timestamp类型转换问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了datastage里的timestamp类型转换问题相关的知识,希望对你有一定的参考价值。

从SQL读出datatime数据后,默认是timestamp类型,如何通过transformer把timestamp转换成只有年和月(YYYY—MM,例如2010-12)的char型。
试过转换为date,再用mouth.tag函数转换,结果出来的是“日月—年”(0112-10)的格式
求解决方法,在线等

timestamp类型是 年月日时分秒 毫秒6位的格式吧。
直接截取年月不行么,不做类型转换。
timestamp 20101214 12:12:12 00000
------>
char substring(XX,1,4):“-”:substring(XX,4,2)
我觉得transformer 应该能够将timestamp转换为char
不行的话,再考虑函数,
参考技术A TimestampToString(%timestamp%,[%"%yyyy-%mm-%dd %hh:%nn:%ss"%])

后面的mask可以自己选, 用%yyyy-%mm就好了

专门为了回答你的问题找回了很久以前注册的帐号,好用要告诉我哦 ^^
参考技术B 你直接select to_char(sysdate,'yyyy-mm') from dual;不就好了?本回答被提问者和网友采纳

oracle timestamp类型数据怎么转换成数值

简单的方法就是把timestamp直接换成scn
SQL> col timestp for a35
SQL> select scn_to_timestamp(current_scn) timestp,current_scn from (select current_scn from v$database);

TIMESTP CURRENT_SCN
----------------------------------- -----------
12-2月 -15 09.01.51.000000000 上午 2719548
参考技术A 比较好的办法可能只有截取字符串了
SELECT substr((use_time),instr((use_time),' ')+10) m_seconds,
substr((use_time),instr((use_time),' ')+7,2) seconds,
substr((use_time),instr((use_time),' ')+4,2) minutes,
substr((use_time1),instr((use_time),' ')+1,2) hours,
trunc(to_number(substr((use_time),1,instr(use_time,' ')))) days,
trunc(to_number(substr((use_time),1,instr(use_time,' ')))/7) weeks
FROM dual;
参考技术B 先to_char
再 to_number

以上是关于datastage里的timestamp类型转换问题的主要内容,如果未能解决你的问题,请参考以下文章

关于sqlite3 中的timestamp类型

mysql数据库里的日期用timestamp还是datetime好

DB2 中的 datastage 转换函数的等价物是啥

将系统日期添加到DataStage转换器,格式为“mm / dd / yyyy hh:mm:ss”

我的数据库里的字段是timeStamp类型的

oracle中date类型怎么转换成timestamp类型?