Oracle 如何将时间戳转换为5-6位数字?

Oracle 如何将时间戳转换为5-6位数字?,oracle,timestamp,data-conversion,Oracle,Timestamp,Data Conversion,我有一个类似这样的tiemstamp日期12/31/1999 12:00:00.000000 AM 我想把它变成这个121999。基本上省略了这一天 如果月份在1月至9月之间,则数字应为5位(即21998),10月至12月应为6位(即102014) 我有一些有用的东西,但它看起来像个穴居人。有更好的办法吗 SELECT TO_NUMBER(SUBSTR(TO_CHAR(EX_DATE,'MMDDYYYY'),1,2)) ||TO_NUMBER(SUBSTR(TO_

我有一个类似这样的tiemstamp日期
12/31/1999 12:00:00.000000 AM
我想把它变成这个
121999
。基本上省略了这一天

如果月份在1月至9月之间,则数字应为5位(即21998),10月至12月应为6位(即102014)

我有一些有用的东西,但它看起来像个穴居人。有更好的办法吗

   SELECT  TO_NUMBER(SUBSTR(TO_CHAR(EX_DATE,'MMDDYYYY'),1,2))
            ||TO_NUMBER(SUBSTR(TO_CHAR(EX_DATE,'MMDDYYYY'),5)) AS  EX_DATE
    FROM TOL
提前谢谢

我想你只是想

SELECT to_char( ex_date, 'fmMMYYYY' ) as ex_date
  FROM tol
如果您想要5或6个字符的字符串或

SELECT to_number( to_char( ex_date, 'fmMMYYYY' )) as ex_date
  FROM tol
如果你想要一个号码

当然,我会犹豫调用字符串或数字
ex\u date
。我不愿意调用类型为
timestamp
的列,比如
ex_date
,这意味着数据类型实际上是
date
。我要么使用正确标识数据类型的东西,即
exu ts
作为
时间戳
,要么更改数据类型以匹配列的名称