
Oracleで同一インスタンスの別スキーマに同じテーブル構成を作り開発環境としています。
そこで下記のSQL文を実行しようとすると、あるスキーマでは正常に検索されるけど別のスキーマでは
「ORA-01861 リテラルがフォーマット文字列と一致しません」
とのエラーメッセージが出力されます。
また困ったことに別マシンから同様の検索を行うとどのスキーマでも正常に検索が行われます。
Net8とかOracleクライアントの設定の問題でしょうか?
DBサーバはOracle10g、クライアントは前者のマシンがOracle8i、後者のマシンにOracle9iがインストールされています。
【対象SQL文】
SELECT *
FROM
(SELECT
TEMP.*,
ROWNUM AS RM
FROM
(SELECT
TEST.COL1,
TEST.COL2
FROM
TEST
WHERE
(COL1 = 'Dummy') AND
COL2 = '1' AND
DATE_COL <= '2005-11-04 12:00:00.0' -- ※この行に対して「ORA-01861」が発生しています。
) TEMP
)
WHERE
RM >= 1 AND
RM <= 300
ORDER BY RM
/
No.1ベストアンサー
- 回答日時:
DATE_COL は VARCHAR2 型ですか、それとも DATE 型ですか?
DATE 型であれば、基本的には比較するときに、
DATE_COL <= TO_DATE('2005-11-04 12:00:00', 'YYYY-MM-DD HH24:MI:SS')
と日付に変換して比較してあげるか、
SQL 文を実行する前に、
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
として、日付のフォーマットを Oracle に教えてあげなければなりません。
この回答への補足
回答ありがとうございます。
DATE_COLはDATE型です。
逆に比較式の時間の方に秒の小数点部まで含まれているからマシンによってうまくいくこと自体不思議だったりするんですが…。
No.2
- 回答日時:
DATE_COL <= '2005-11-04 12:00:00.0'
小数部があり、9i で動作するところから予想すると
DATE_COL はTIMESTAMP 型ではありませんか?
それと、SQLを実行したツールと表定義はどのようになっていますか ?
Oracle8i の環境は手元にないので確認しようがないのですが、
8i には TIMESTAMP型がありませんので、SQLPLUS ですと
デフォルトの NLS_TIMESTAMP_FORMATが存在しないためにエラーになっているのかもしれません。
暗黙変換は使用せず、ちゃんと TO_XXX 関数を使用してみてください。
回答ありがとうございました。
ツールによる自動生成SQLが表記したようになるための問題です。
ツールの見直しをしなければいけないようですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
datapumpの実行方法について
-
異なるスキーマからデータを抽...
-
SQLでスキーマ名(所有者名)の...
-
select insert 句
-
シノニムってエイリアスのエイ...
-
viewのバックアップ
-
ストアドで別スキーマのテーブ...
-
Oracle10gで他のスキマーのテー...
-
oracle 10g ユーザやスキーマご...
-
スキーマの削除、スキーマオブ...
-
特定のスキーマのテーブルを一...
-
シーケンス取得について
-
Oracleでの登録するユーザーと...
-
ORA-01861について
-
ストアドやviewなどのエクスポート
-
テーブルの再作成におけるリコ...
-
オラクル DBリンクについて
-
インポートすれば、前の情報に...
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
異なるスキーマからデータを抽...
-
datapumpの実行方法について
-
特定のスキーマのテーブルを一...
-
SQLでスキーマ名(所有者名)の...
-
viewのバックアップ
-
select insert 句
-
oracleのimpdpでORA-39166
-
異なるスキーマからビュー作成
-
Oracle10gで他のスキマーのテー...
-
シノニムってエイリアスのエイ...
-
スキーマの削除、スキーマオブ...
-
ストアドやviewなどのエクスポート
-
DBリンク経由の参照について
-
DBリンク&シノニム経由インデ...
-
SynonymとViewについて
-
ストアドで別スキーマのテーブ...
-
oracle 10g ユーザやスキーマご...
-
ORA-01861について
-
オブジェクトエラー
-
EXPORT時にあるテーブルのみ範...
おすすめ情報