0

オラクルに同等のスタッフ機能はありますか? mssql の stuff 関数を使用して、生の日時 (文字列形式) を適切な日時の MSSQL クエリに変換しました

select convert(datetime,
      '20'+substring(stuff(stuff(stuff(stuff(stuff(stuff(convert(varchar,'24051103084950') , 3,0,'-'), 6,0,'-'), 9,0,' '), 12,0,':'), 15,0,':'), 17,2,''),7,2)+'-' 
      +SUBSTRING(stuff(stuff(stuff(stuff(stuff(stuff(convert(varchar,'24051103084950'),3,0,'-'),   6,0,'-'),  9,0,' '), 12,0,':'), 15,0,':'), 17,2,''),4,2)+'-'
      +SUBSTRING (stuff(stuff(stuff(stuff(stuff(stuff(convert(varchar,'24051103084950'), 3,0,'-'), 6,0,'-'), 9,0,' '), 12,0,':'), 15,0,':'), 17,2,''),1,2)
      + SUBSTRING(stuff(stuff(stuff(stuff(stuff(stuff( convert(varchar,'24051103084950'),3,0,'-'),   6,0,'-'), 9,0,' '), 12,0,':'), 15,0,':'), 17,2,''),9,15))

上記のクエリで、 「24051103084950」ddmmyyhhmiss形式の生データです。上記のクエリの出力は次のとおりです。

(No column name)
2011-05-24 03:08:40.000

同じクエリをオラクルに変換する必要があります。そうするように私を導いてください。

4

1 に答える 1

1

タイムスタンプ/文字列変換関数を使用して、これを簡素化できます。

select to_char(
         to_timestamp('24051103084950', 'DDMMYYHH24MISSFF2'), 
         'YYYY-MM-DD HH24:MI:SS.FF3') 
  from dual

注意 FF2 はミリ秒単位で 2 桁、FF3 はミリ秒単位で 3 桁です。

于 2012-08-24T13:41:46.750 に答える