お世話になります。
PL/SQLでDATE型のデータの日時を取得する方法を教えてください。
PL/SQLでDBの値を、TO_CHARで取ってきて、その値をTO_DATEすると、時刻が落ちてしまいます。
charWorkEndDate VARCHAR2(20);
dtWorkEndDate DATE;
charWorkEndDate:= to_char(V00061_Rec.S_DATE5, 'YYYY/MM/DD HH24:MI:SS');
dtWorkEndDate := to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS');
出力結果
--charWorkEndDate- [2005/12/25 06:00:19]
--dtWorkEndDate- [05-12-25]
to_dateの1つ目の引数にシングルクォーテーションが必要かと思い、
dtWorkEndDate := to_date('''||charWorkEndDate||''', 'YYYY/MM/DD HH24:MI:SS');
としてみたのですが、その場合、「ORA-01841: (周)年は-4713と+9999の間の0以外の数を指定する必要があります」とのエラーが出てしまいます。
どなたかDATE型のデータの時刻を取る方法をご存知でしたら、教えていただけますでしょうか。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
試してないので憶測ですが、
おそらくdtWorkEndDate は時間ももってます。
日付のデフォルト出力フォーマットが[yy-mm-dd]になってるので、時間が表示されないだけです。
to_char(to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS'), 'YYYY/MM/DD HH24:MI:SS');
とすれば、時間も表示されませんか?
返信ありがとうございます。
>to_char(to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS'), 'YYYY/MM/DD HH24:MI:SS');
で時間も取得できました。
重ねてもしご存知でしたら教えていただきたいのですが、
この取得した日時をDATE型でINSERTしたい場合は、
どのような記述が適切なのでしょうか。
TO_DATEでは日時が落ちてしまい、
'to_char(to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS'), 'YYYY/MM/DD HH24:MI:SS')'
ではリテラルと書式が一致しないとエラーになってしまいます。
初期化パラメータNLS_DATE_FORMATを変更するしかないのでしょうか。
No.3
- 回答日時:
INSERT INTO テーブル名 VALUES(dtWorkEndDate)
だけで。
前後にシングルコーテーションを付加すると、
'''||TO_CHAR(dtWorkEndDate)||'''
と同じことになってしまうはずなので。
No.2
- 回答日時:
実際にDate型に[05-12-25]の値が入っているわけではなく、単に表示する時に時刻を削って表示しているだけだと思われます。
そのままdtWorkEndDateをINSERTして、
SELECT
TO_CHAR([dtWorkEndDateを入れたテーブル列名,'YYYY/MM/DD HH24:MI:SS')
FROM
[dtWorkEndDateを入れたテーブル行名]
;
としてみてください。
DBに値がちゃんと入っているのが確認できると思われます。
回答ありがとうございます。
そのままdtWorkEndDateをINSERTしたのですが、
DBには日付しか入りませんでした。
>単に表示する時に時刻を削って表示しているだけだと思われます。
INSERTの前の時点では、
TO_CHAR(dtWorkEndDate, 'YYYY/MM/DD HH24:MI:SS')
で表示させたところ、時間が入っていました。
INSERT文は
execute immediate
'INSERT INTO テーブル名 VALUES(''' ||
dtWorkEndDate || ''')';
となっています。
INSERT文のログは、VALUES('05-01-04')となっていました。
もし何かお気づきの点がありましたらご教授下さい。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- JavaScript gasについて 1 2022/05/31 21:51
- 英語 to date 2 2023/05/23 23:22
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
CASE文のエラーについて
Oracle
-
「ORA-00907: 右カッコがありません」について
Oracle
-
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
-
4
ORA-01843: 指定した月が無効です。エラー
Oracle
-
5
ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています
Java
-
6
他のテーブルを参照した値はupdateでsetできない?
Oracle
-
7
NUMBER(N,M) としたときの、格納データサイズ(バイト)
Oracle
-
8
日付型カラムへのデータINSERT
Oracle
-
9
SQL*LoaderでCSVから指定した列のみインポートしたい。
Oracle
-
10
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
11
単一グループのグループ関数ではありません。
Oracle
-
12
異なるスキーマからデータを抽出するには?oracl、PL/SQL
Oracle
-
13
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
14
PL/SQL PLS-00103エラーについて
Oracle
-
15
CloseとDisposeの違い
Visual Basic(VBA)
-
16
sql*loader 数値のロード
Oracle
-
17
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
18
SQL*Loaderでのsysdate使用
Oracle
-
19
オラクルのUPDATEで複数テーブル
Oracle
-
20
sqlplusで表示が変なので、出力を整形したい。
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
ISDBNULLをスルーしてDBNULLが...
-
VB.NETでコンボボックスの1行目...
-
VBA ドロップダウンリストを残...
-
Excel VBAのリストボックスの値...
-
シーケンサで最小値を保持する
-
ユーザーフォームのテキストボ...
-
DataTableに対するLINQについて
-
値を返さないコード パス
-
ExcelでGaussian fittingをした...
-
VB.netでRGB関数を使うには
-
マクロ 特定のセル値のみクリ...
-
変数名の取得
-
C#の質問です
-
vb6のVSFlexGridで選択行、列の...
-
Powershellのparamについて
-
ListBoxでオートフィルター表示
-
PL/SQLでのTO_DATEの時間取得に...
-
【C++/CLI.NET】コンボボックス...
-
SqlParameterとSqlCommandの使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
値を返さないコード パス
-
VB.NETでコンボボックスの1行目...
-
Excel VBAのリストボックスの値...
-
C#の質問です
-
Vba TextBox1.ControlSourceに...
-
VB初心者。小数点以下の表示で...
-
PL/SQLでのTO_DATEの時間取得に...
-
変数名の取得
-
Excel VBA 複数選択したリスト...
-
マクロ 特定のセル値のみクリ...
-
Powershellのparamについて
-
フォーム間での変数の受け渡し
-
Excel vba ユーザーフォームテ...
-
vb6のVSFlexGridで選択行、列の...
-
ユーザーフォームのテキストボ...
-
シーケンサで最小値を保持する
-
ISDBNULLをスルーしてDBNULLが...
-
マクロで奇数と偶数の値を2か所...
-
【C++/CLI.NET】コンボボックス...
おすすめ情報