• 締切済み

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結果が返ってきます。 どうすればよいでしょうか?

みんなの回答

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

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

MaiK_Birdy
質問者

お礼

ありがとうございました

関連するQ&A