2

substr_count()MySQLに PHP の機能に似た機能はありますか? 実際には、セットに含まれるアイテムの数を知る必要があります (例: 1,2,33 アイテム)。

検索では、これに固有のものは何も見つかりませんでした。そこで、メソッドLENGTH()とで回避策を作成しましたREPLACE()

SELECT LENGTH("1,2,3,4") - LENGTH(REPLACE("1,2,3,4", ",", "")) + 1;

しかし、失敗セットは空です。
しかし、私はそれを単純な で解決できIF()ます。

したがって、たとえば次のような、よりネイティブなものを探しています。

SELECT SUBSTR_COUNT(",", "1,2,3,4") + 1;

または、さらに良いこと:

SELECT LENGTH_OF_SET("1,2,3,4");

いくつかの解決策の人?

編集

いくつかの疑問があるため、いくつかの例を設定してみます。

  • 1,2,31、2、3 の 3 つの項目があります。
  • 100,200100 と 200 の 2 つの項目があります。
  • 1,2,4,9,16,251、2、4、9、16、25 の 6 つの項目があります。

基本的に、コンマの数+1の数が欲しいです。私はこの価値を持っていますが、これを行うためのネイティブな方法があるかどうか、または私よりもコストがかからないかどうか疑問に思っていました.

4

2 に答える 2