
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)を開...
-
/var/lib/mysql以下に生成され...
-
SQLserver2005⇒2012へ移行
-
[SQLserver7.0]旧サーバ → 新サ...
-
ダンプファイルから特定のテー...
-
MY-SQL+PHPファイルのアップロード
-
Notesの「notes.ini」内の環境...
-
複数のCSVファイルの読みこみ
-
lo_exportで取出したファイルの...
-
FrontPage2000でファイルのアッ...
-
ApacheとPHPの連携
-
Acronis True Image Personal 2...
-
phpMyAdminの使い方
-
Foxit Readerのプラグインがイ...
-
データベースの削除が出来ません
-
CSVファイルのインポートについて
-
エクセルでのデータベース作成...
-
access2000でインポート...
-
数字で「そ」と「り」
-
テーブルデータを編集するおす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
同じSQL文で極端に検索が遅くな...
-
DBファイルの中身を直接見れな...
-
ダンプファイルから特定のテー...
-
badファイルの内容を知る方法
-
SQLデータベースへのリンクがあ...
-
ODBCを使用する場合のファイルD...
-
Access2010でアクセス制限をしたい
-
sqlファイルを分割するソフトは...
-
mysql.sockを消してしまった
-
こんにちは。Access上でExcelデ...
-
MYSQLのDBに大容量のCSVをUP...
-
rmanで別ホストへリストアする...
-
パラメータファイルが壊れたと...
-
DB2の文字化け
-
SQL*Loaderで桁数チェック
-
batでsqlplusによる前月データ...
-
SQLServer2005のネットワークド...
-
accdbファイルの最適化
-
CGI(掲示板やカウンターなど)...
おすすめ情報