こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

DB2のSQL

select * from xTABLE where EMP_ID = "P001"
というSQLを実行すると

SQL0206N "P001" is not valid in the context where it is used. SQLSTATE=42703

のエラーが出ます。
SQLSTATEで調べても「"P001"の列がテーブルにない」ということみたいですが
列名で捉えている時点でおかしい気がします

select * from xTABLE where EMP_ID = null
のSQLは正常にテーブルのSELECT結果が返ってきます。

どうすればよいでしょうか?

投稿日時 - 2013-12-12 13:07:41

QNo.8383360

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

14人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.1

DB2に限った話ではありませんが、
リテラルを文字列として扱って欲しい場合はシングルクォーテーション(')で囲う必要があります。
(DB2では、リテラルをダブルクォーテーション(")で囲うと列名として認識されます)

投稿日時 - 2013-12-12 13:23:29

お礼

ありがとうございました

投稿日時 - 2014-01-09 17:03:55

-広告-
-広告-
-広告-
-広告-