sqlplusにてbatファイルを起動するだけで前月のデータを取得しようとしていますが、
ネットで検索等してもなかなかうまく行きません。
以下のようにbatファイルを起動すると、常に前月のT_URIのデータを取得させたいのですが、
どのようにすれば宜しいでしょうか?ご教示頂けると助かります。(期間の日付をじかに入力すれば、取得できたのですが、同じように取得したいテーブルが複数あるので)
月初日は常に1日、月末日は常に31日にして、前月をbatファイルかsqlファイル上で計算させる方法はないのでしょうか?
(会社の業務でoracleのデータベースから抜き出そうとしています。)
SQLPLUS ABCD/ABCD@ORACLE.XYZ.WW @0031_ymd.sql
PAUSE
↓0031_ymd.sql
set heading on
set echo off
set underline off
set termout off
set pause off
set pagesize 0
set trimspool on
set feedback off
set termout off
set linesize 1000
set lines 30000
spool D:\hoge.csv
SELECT * FROM T_URI S
WHERE
AND S.KJN_YMD >= yyyymmdd
AND S.KJN_YMD <= yyyymmdd
No.2ベストアンサー
- 回答日時:
No1のやり方で、型が合わなければ、型変換すればいいだけ。
to_dateやto_charをマニュアルで調べると、今後幸せになれると思いますよ。
同じやり方を書いても面白くないので、たとえば、これでもOKだと思いますよ。
where to_char(sysdate-1,'yyyymm')||'%' like S.KJN_YMD
ありがとうございます。型変換ができるとは知りませんでした。
勉強になりました。where句を以下のようにすることで、目的を
果たすことができました。
S.KJN_YMD LIKE to_char(add_months(sysdate,-1),'yyyymm')||'%'
No.3
- 回答日時:
※「当月」初日の求め方
「当日」を「月」で切り捨てる
TRUNC(SYSDATE, 'MM')
※「前月」末日の求め方
「当月」初日の前日は「前月」末日
TRUNC(SYSDATE, 'MM') - 1
※「前月」初日の求め方
「前月」末日を「月」で切り捨てる
TRUNC(TRUNC(SYSDATE, 'MM') - 1, 'MM')
ほかの方の回答と合わせれば、もう大丈夫でしょう。
No.1
- 回答日時:
WHERE S.KJN_YMD BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -1)) AND TRUNC(SYSDATE) -1
※データベースサーバーの日時、タイムゾーンが正確であること
※S.KJN_YMD がDate型で、日付しか保持していない(時刻は00:00:00)こと
もし、次回以降も質問されるのでしたら、SQL*Plusで操作するOracleのバージョンを明示してください。
早速のご教示ありがとうございます。
しかしながら、S.KJN_YMDの型は、VARCHAR2でした。
バージョンは、Oracle10g(10.1.0)です。
何か手立てはないものでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- その他(プログラミング・Web制作) バッチファイルでPCのモデル名を取得したい 1 2022/03/31 10:58
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
データベースPhpMyAdminの更新
-
DBファイルの中身を直接見れな...
-
データベースのデータ入力にか...
-
SQL*Loaderで桁数チェック
-
ファイルからのデータ更新について
-
SQLServer2005 セカンダリファ...
-
PL/SQLで@ファイル名が反応しま...
-
SQLです。あってますか?↓
-
sql*loader 数値のロード
-
あるDBから別のDBのテーブルをs...
-
html上でMySQLにアクセス(Java...
-
PL/SQLをWindowsのBATファイル...
-
漢字や平仮名の文字をSQLで実行...
-
作成したレコードセットのCSV出...
-
人口の都道府県別の割合を求め...
-
sqlplus で テキストファイルに...
-
MySQL 192.168.0.1の端末から 1...
-
MySQL データベースをデタッチ
-
htmlタグを含んだ文字のデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
同じSQL文で極端に検索が遅くな...
-
DBファイルの中身を直接見れな...
-
Access2010でアクセス制限をしたい
-
ODBCを使用する場合のファイルD...
-
サーバーに接続できない
-
htmlフォームから受け取ったフ...
-
sqlファイルを分割するソフトは...
-
パラメータファイルが壊れたと...
-
badファイルの内容を知る方法
-
バッチでAccessのmdbファイルを...
-
SQL*Loaderで桁数チェック
-
ダンプファイルから特定のテー...
-
batでsqlplusによる前月データ...
-
SQLデータベースへのリンクがあ...
-
こんにちは。Access上でExcelデ...
-
accdbファイルの最適化
-
mysqlのcsvファイル出力について
-
Notesの「notes.ini」内の環境...
-
rmanで別ホストへリストアする...
おすすめ情報