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

PL-SQLのcontains()はどのように機能しますか?

    含むは、検索用のテキストフィールドにインデックスを付ける「CONTEXTインデックス」を持つテキストフィールドで使用されます。標準的な使用法は次のとおりです(scoreを使用) containsから返されるものを表示する演算子 containsの1に基づく句 scoreの1と一致する ):

    SELECT score(1), value
    FROM table_name
    WHERE CONTAINS(textField, 'searchString', 1) > 0;
    

    テーブルtable_nameのこのようなデータの場合

    value  |  textField
    -------|-----------------------------------------------
    A      |   'Here is searchString.  searchString again.'
    B      |   'Another string'
    C      |   'Just one searchString'
    

    そのクエリは

    を返します
    2 A
    1 C
    

    したがって、containsはlikeに似ていますが、テキストフィールドで文字列が出現する回数をカウントします。投稿したクエリで使用されている方法を含むを使用してリソースを見つけることができませんでしたが、dFullTextの行が返されると思います carのインスタンスが少なくとも1つあります その中、またはこのSQLと同等のもの:

    Select * from blabla where dFullText like "%car%"
    

    ここに別の情報源があります。



    1. DAYOFMONTH()の例– MySQL

    2. 1列のみのDISTINCT

    3. MariaDB JSON_MERGE_PRESERVE()の説明

    4. mysqlをmysqliに変更する方法は?