2016-04-18 2 views
0

MM/DD/YYYY HH:MIとAM/PMの形式の文字列を変換する必要がありますが、フォーマット文字列の完全な参照が見つからない午前/午後の部分を指定します。TO_DATE形式の文字列の参照はどこにありますか

私は確かにこれを行う方法に関する情報をいただければ幸いですが、この資料の良い出典へのリンクをさらに感謝します。

:EDIT

SELECT top 1 
v.CalendarDateTime 
,TO_TIMESTAMP(v.CalendarDateTime,'MM/DD/YYYY HH:MIAM') as CalendarDateTimeTS 
--,CAST(TO_TIMESTAMP(v.CalendarDateTime,'MM/DD/YYYY HH:MIAM') AS TIMESTAMP(0) FORMAT 'MM/DD/YYYYBHH:MIBT') AS CalendarDateTimeTS2 

2015年12月3日3時00分AM 2015年12月3日03:00:00.000000

コメントアウトライン "DateTimeフィールドオーバーフロー" を生成しますエラー。

答えて

2

おそらくの代わりにTO_TIMESTAMPが必要です。

Oracleの機能についての唯一の悪い点を変更することはできませんTIMESTAMP(6)の結果のデータ型です:

のTeradataの FORMATを使用して
TO_TIMESTAMP('12/03/2015 03:00AM', 'MM/DD/YYYY HH:MIAM') 

あなたは、タイムスタンプの精度を指定することができますが、それは、Oracleのより少ない柔軟です、文字列が正確に一致する必要があります形式:

CAST('12/03/2015 03:00AM' AS TIMESTAMP(0) FORMAT 'MM/DD/YYYYbHH:MIT') 

のTeradataサイトであなたが(遅い)オンラインドキュメンタリーを見つけることができますが、たとえば、 TO_DATE formatsまたはTeradata FORMATs。もちろん、あなたのリリース用にfull documentation CDをダウンロードする必要があります。

+0

TO_TIMESTAMPは機能しますが、CASTは "DateTimeフィールドのオーバーフロー"を返します。私は参照のために私の質問にコードを入れた。 – Metaphor

+0

@Metaphor:タイムスタンプの精度を下げることはできません(愚かなことですが、私は標準SQLを非難しています)ので、代わりに第2版を使用してください。 – dnoeth

+0

それはトリック、ありがとう! – Metaphor

0

どのプログラミング言語を使用しているか教えてください。 通常は「MM/DD/YYYY HH:MI a」のようなものですが、最初にあなたの言語を知る必要があります。

+0

これはTeradata SQLです。私はTeradataのタグを設定しましたが、本文中では言及しませんでした。 – Metaphor

関連する問題