プロが教えるわが家の防犯対策術!

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結果が返ってきます。

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

A 回答 (1件)

DB2に限った話ではありませんが、


リテラルを文字列として扱って欲しい場合はシングルクォーテーション(')で囲う必要があります。
(DB2では、リテラルをダブルクォーテーション(")で囲うと列名として認識されます)
    • good
    • 1
この回答へのお礼

ありがとうございました

お礼日時:2014/01/09 17:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!