ホームページ > バックエンド開発 > PHPチュートリアル > 列が存在しているにもかかわらず、Postgresql クエリで「列 'Smith' が存在しません」が返されるのはなぜですか?

列が存在しているにもかかわらず、Postgresql クエリで「列 'Smith' が存在しません」が返されるのはなぜですか?

DDD
リリース: 2024-12-02 06:08:10
オリジナル
877 人が閲覧しました

Why Does My Postgresql Query Return

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート