Oracle SQL Developerでカスタム日付時刻フォーマットを設定するにはどうすればよいですか?


198

デフォルトでは、Oracle SQL開発者は日付値をとして表示します15-NOV-11。デフォルトで時間の部分(時間/分/秒)を表示したいと思います。

Oracle SQL Developer内でこれを構成する方法はありますか?


私は前にこれで苦労しました。セッション用に修正できますが、SQL Developerを閉じてから再起動すると、設定が失われます。したがって、私が提供できるこのソリューションは永続的なものではありません。
Brett Walker

答えを追加できますか?@BrettWalker、何もないよりはましだ。
ComfortablyNumb

5
"DATE"と呼ばれる実際に精度を秒に格納するデータ型のとんでもないデフォルト。これは多くの人の時間を浪費したに違いない。
WW。

回答:


398

これは設定で変更できます:

  1. Oracle SQL Developerのメニューから次の場所に移動します:ツール > 設定
  2. 設定」ダイアログの左側のパネルから「データベース」 >「NLS」を選択します。
  3. NLSパラメータのリストから、DD-MON-RR HH24:MI:SS[ 日付形式]フィールドに入力します。
  4. 保存してダイアログを閉じます。完了です!

ここにスクリーンショットがあります:

Oracle SQL Developerでの日付フォーマット設定の変更


1
LinuxでSQLDeveloperを使用していますが、この設定は機能しません。他の方法はありますか?
フィリピンの

3
そこにどんなフォーマットを入れても無視されます。これはsql:to_date('02 -OCT-14 '、' YYYY-MM-DD ')で生成されるのがわかるので、今や私のsqlは単純に壊れています。
James Watkins

この形式は、プラットフォームロケールの違いが原因で、私には機能しません。これが機能しない場合は、私の回答を参照してください
Donatello

2
この設定はどこに保存されますか?DBまたはSQL開発者ですか?
ツールキット

44

sql-developerで日付の表示形式を変更しようとしたときに、この投稿を偶然見つけました。私が見つけたものにこれを追加したかっただけです:

  • デフォルトの表示形式を変更するには、ousooによって提供される手順を使用します。つまり、[ツール]> [設定]> ...
  • しかし、多くの場合、DEFAULT_FORMATを保持しながら、関連する一連のクエリでのみフォーマットを変更します。そのとき、次のようにしてセッションの形式を変更します。

    alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

例えば:

   alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS' 

26

Oracle SQL Developer 3.2.20.09では、DATE型のカスタム形式を次のように設定できました。

で:ツール>設定>データベース> NLS

または:Outils>Préférences> Base dedonées> NLS

YYYY-MM-DD HH24:MI:SS

設定メニューのスクリーンショット

次のフォーマット私にはうまくいきません:

DD-MON-RR HH24:MI:SS

その結果、デフォルトのフォーマットが維持され、エラーは発生しません。


3

これでまだ問題がある人のために; たまたまGoogleからこのページを見つけました...

次のように入れてください(NLSパラメータ)... SQLDeveloper v3.0.04で私に固執します。

DD-MON-YY HH12:MI:SS AM or for 24-Hour, DD-MON-YY HH24:MI:SS 

24時間形式では「AM」形式のトークンが削除されていることに注意してください。「AM」トークンと「HH24」トークンの両方が使用されている場合、「AM」は「HH24」をオーバーライドします。
macawm 2016年

2

私の場合、Preferences / Database / NLSで設定されたフォーマットは[Date Format] = RRRR-MM-DD HH24:MI:SSXFFでしたが、グリッドにはおそらくデフォルトのフォーマットRRRR / MM / DDがありました(時間がない場合でも)。 [日付形式]の設定をRRRR-MM-DD HH24:MI:SSに変更した後に変更(末尾に「XFF」なし)。

エラーはありませんでしたが、最後にxffを使用したフォーマットは機能しませんでした。

注:ポーランド語の表記では、RRRRはYYYYを意味します


2
TL; DR:末尾に「XFF」なし
Robert Andrzejuk

Oracleでは、日付に小数秒の部分はありません。タイムスタンプはそうです。したがって、Oracleは、機能しないものを指定できないようにして、役立つようにしています。
ロイレーサム

0

タイムスタンプの日付形式をコピーして日付に使用すると、機能しませんでした。しかし、日付形式をこれに変更することで(DD-MON-YY HH12:MI:SS AM)、うまくいきました。

変更は、ツール->設定-> NLSの検索で行う必要があります。


0

[ツール]> [設定]に移動します。ツリーで、[データベース]> [NLS]を選択します。使用できる日付/時刻形式は、日付、タイムスタンプ、タイムスタンプTZの3つです。日付形式を編集すると、目的の効果が得られます。

上で言ったように; このアプローチは私に永続的な変化を与えませんでした。


jsyk、あなたのプロフィール写真はドン・コルレオーネから私に思い出させます(そのようなコメントのための間違った場所)
ジョナサン・ドス・サントス

0

SQL Developerバージョン4.1.0.19

ステップ1:[ツール]-> [設定]に移動します

ステップ2:[データベース]-> [NLS]を選択します

ステップ3:日付形式に移動し、DD-MON-RR HH24:MI:SSと入力します

手順4:[OK]をクリックします。


-1

私が解決した関連する問題があり、人々に私の解決策を知らせたいと思っていました。SQL Developerを使用して、あるデータベースからcsvにエクスポートし、それを別のデータベースにインポートしようとしました。日付フィールドでエラーが発生し続けました。私の日付フィールドはタイムスタンプ形式でした:

28-JAN-11 03.25.11.000000000 PM

上記のソリューション(NLS設定の変更)はインポート時に機能しませんでしたが、最終的に次のように機能しました。

インポートウィザードの[列の定義]画面DD-MON-RR HH.MI.SSXFF AMで、[形式]ボックスに「」と入力すると、最終的に正常にインポートされました。残念ながら、私は何十もの日付フィールドを持っています。私の知る限り、この形式をすべての日付フィールドに体系的に適用する方法はないので、手動で行う必要がありました。誰かがより良い方法を知っているなら、私はそれを聞いて幸せです!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.