区切り識別子にするためには、名前を一重引用符ではなく二重引用符で囲む必要があります。したがって、表示されている接続文字列を使用して、以下に示すようにクエリを作成すると、「うまくいくはずです」(有名な最後の言葉):
SELECT keycolumnA AS "Entity", datacol1, datacol2
FROM RandomlyNamedTable -- NB: Not present in original query!
WHERE keycolumnA IN ('ABC', 'DE f');
要素と呼ばれるテーブルを含むデータベースでテストされました(要素のテーブルに関するデータを保存します):
SELECT Atomic_Number AS "Entity", Name AS Name, Symbol AS "Symbol"
FROM Elements -- NB: Not present in original query!
WHERE Symbol IN ('Fe', 'He');
Entity | name | Symbol
INTEGER | CHAR(20) | CHAR(3)
26 | Iron | Fe
2 | Helium | He
'Entity' と 'Symbol' の名前は、必要に応じて大文字になっていることに注意してください。二重引用符が一重引用符に置き換えられた場合、クエリは失敗しました
SELECT Atomic_Number AS 'Entity', Name AS Name, Symbol AS 'Symbol'
FROM Elements -- NB: Not present in original query!
WHERE Symbol IN ('Fe', 'He');
SQL -201: A syntax error has occurred.
これは DELIMIDENT が設定されていた...DELIMIDENT が設定されていない場合、「表示ラベル」を囲む単一引用符と二重引用符の両方が構文エラーで失敗しました。
Mac OS X 10.7.5 上の IBM Informix Dynamic Server 11.70.FC2 に対するテスト。(プログラムは ESQL/C を使用して作成されましたが、重要ではありません。)