sql >> データベース >  >> RDS >> PostgreSQL

Postgresの文字列に単語全体が存在するかどうかを検索する方法

    これには正規表現を使用できます:

    where title ~* '(\mphone\M)|(\msamsung\M)'
    

    上記は、phoneの値のみを返します またはsamsung 完全な言葉です。正規表現修飾子\m および\M パターンを単語全体にのみ一致させる。

    正規表現演算子~* これは大文字と小文字を区別しません。上記の式は、Samsung Phoneを返します。 またはGoogle Phone Sam's Houseではありません 。

    さらに単語を追加する場合は、「または」演算子|を使用して単語を追加するだけです。

    where title ~* '(\mphone\M)|(\msamsung\M)|(\mbhat\M)'
    

    この種の検索は超高速ではないことに注意してください。正規表現は高価であり、インデックスを使用できません。



    1. 大きなmysqlテーブルにインデックスを追加する最も効率的な方法

    2. PSequel GUIを使用してMac上のローカルホストPostgreSQLに接続するにはどうすればよいですか?

    3. Mac10.8.5でmySQLのバージョンを確認してください

    4. データベースにテーブルが存在するかどうかを確認する際の問題