Oracle 如何将时间戳转换为5-6位数字?
我有一个类似这样的tiemstamp日期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_
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
作为时间戳
,要么更改数据类型以匹配列的名称