[解決済み] ORACLEのTO_DATE関数
2022-03-12 04:39:34
質問
を試していたのですが
TO_DATE
関数を使用します。具体的には、以下のようなクエリに注目しました。
1. SELECT TO_CHAR(TO_DATE('01-01-2015','DD-MM-YYYY'),'DD-MON-YY') FROM DUAL
2. SELECT TO_DATE('01-01-2015','DD-MM-YYYY') FROM DUAL
は同じ出力になります。
01-JAN-2015
.
なぜ
TO_DATE
関数は月を省略した形で返すのですか?
2番目のクエリで期待される出力は次のようなものです。
01-01-2015
(単純に、TYPE変換であって、フォーマット変換ではない)。
私が間違っているのでしょうか?
ありがとうございます。
解決方法は?
日付には書式がなく、次のように表されます。 7バイトまたは8バイト .
SELECT DUMP( SYSDATE ) FROM DUAL;
出力されるかもしれません。
Typ=13 Len=8: 220,7,11,26,16,41,9,0
このフォーマットはコンピュータが日付を比較するのには非常に便利ですが、人間にとってはあまり便利ではありません。そのため、SQLクライアント(SQL/plus、SQL Developers、TOADなど)が日付を表示する際には、バイトを表示せず、文字列として表示されます。
これを実現するために、暗黙のうちに
TO_CHAR()
(あるいは日付を文字列化する他の内部メソッド) を使用し、デフォルトのフォーマットマスクを使用してこの変換を実行します。
SQL/Plus と SQL Developer は、ユーザーのセッションパラメータである
NLS_DATE_FORMAT
を使用して、この変換を実行します。
この回答
に関してです。
つまり、2つ目のクエリは、暗黙のうちにこれに近いことをするように変換されているのです(ただし、ほぼ確実に、より効率的です)。
SELECT TO_CHAR(
TO_DATE('01-01-2015','DD-MM-YYYY'),
( SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT' )
)
FROM DUAL
関連
-
オラクル表領域拡張の詳細
-
オラクルストアドプロシージャの事例を解説
-
ODBC sqlserverデータソースに接続するためのOracleの詳細な手順
-
[解決済み】ORA-00932: 整合性のないデータ型: 予想される - CLOB を取得しました。
-
[解決済み] エラー発生 - ORA-01858: 数値が期待される場所に非数値の文字が見つかりました。
-
[解決済み] Oracle の起動ができません - ORA-00845: MEMORY_TARGET はこのシステムでサポートされていません - しかし、メモリサイズは問題ないようです。
-
[解決済み] PLS-00306:Oracle SP の呼び出しで引数の数または種類が誤っている。
-
[解決済み] Oracleで変数を宣言して表示する方法
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み】Oracleクエリが順序付け後に返す行数を制限するにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Oracle Sqlplusコマンドログイン複数方法ケーススタディ
-
Oracle Logminer クイックスタート詳細
-
Oracleデッドロック検出クエリとその処理
-
PLSQL14ダウンロードとインストールチュートリアル
-
ODBC sqlserverデータソースに接続するためのOracleの詳細な手順
-
[解決済み】Oracle Databaseで「SET DEFINE OFF」を使用するタイミングと理由
-
[解決済み] ORA-00980 PLSQL で同義語の翻訳が有効でなくなった。
-
[解決済み] ORA-01799: 列がサブクエリに外部結合されていない可能性があります。
-
[解決済み] ORA-04063: パッケージ本体 "WB_PROD.PLOG" にエラーがあります。
-
[解決済み] pl sql %NOTFOUND