Postgresql クエリで列名が認識されません
Postgresql で単純な SELECT ステートメントを実行しようとすると、エラー「column '」が発生する場合があります。スミスは存在しません。」これは、特に参照している列が実際にデータベースに存在することが分かっている場合には、混乱する可能性があります。
根本原因:
問題は、次の方法に起因します。 Postgresql は引用符で囲まれた列名と引用符で囲まれていない列名を処理します。この場合、列名「lName」を二重引用符で囲んで、完全一致であることを示しています。ただし、比較対象の値「Smith」は引用符で囲まれていません。
解決策:
この問題を解決するには、両方の列名と比較値は同じ種類の引用符で囲まれます。 Postgresql では、一般に文字列リテラルに一重引用符を使用することをお勧めします。
SELECT * FROM employee WHERE "lName" LIKE 'Smith'
さらに、LIKE 式にワイルドカードを含めることを検討することもできます。ワイルドカードを使用しない場合、LIKE 比較は等価性チェックと同等です。部分一致を実行する場合は、「%」:
SELECT * FROM employee WHERE "lName" LIKE '%Smith%'
以上が列が存在しているにもかかわらず、Postgresql クエリで「列 'Smith' が存在しません」が返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。