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

Oracleで文字列内の単語数をカウントするにはどうすればよいですか?

    これに似たものを使用できます。これは文字列の長さを取得し、スペースを削除して文字列の長さを減算します。次に、それに1を追加すると、単語数がわかります。

    Select length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
    from yourtable
    

    SQL Fiddle with Demo

    を参照してください

    次のデータを使用する場合:

    CREATE TABLE yourtable
        (yourCol varchar2(15))
    ;
    
    INSERT ALL 
        INTO yourtable (yourCol)
             VALUES ('Hello To Oracle')
        INTO yourtable (yourCol)
             VALUES ('oneword')
        INTO yourtable (yourCol)
             VALUES ('two words')
    SELECT * FROM dual
    ;
    

    そしてクエリ:

    Select yourcol,
      length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
    from yourtable
    

    結果は次のとおりです。

    |         YOURCOL | NUMBOFWORDS |
    ---------------------------------
    | Hello To Oracle |           3 |
    |         oneword |           1 |
    |       two words |           2 |
    


    1. EntityFrameworkでのMySQLの使用

    2. MySQLで値に少なくとも1桁の数字が含まれているかどうかを検出する方法

    3. 初心者のためのSQLIN演算子

    4. sqlplus現在接続されているデータベースセッションの詳細を見つける方法