という名前の MySQL カラムがありますfee
。内部の値fee
は次のようなものです:
Jan,Feb,Mar
またはJan,Feb
... これは、1 月から 3 月の料金が支払われたことを意味します (2 番目の例では 1 月から 2 月が支払われました)。
これらの料金が支払われた月数をどうやって数えますか? すなわち。最初の例では、2 番目の例では 3 と 2 が得られると予想されます。
という名前の MySQL カラムがありますfee
。内部の値fee
は次のようなものです:
Jan,Feb,Mar
またはJan,Feb
... これは、1 月から 3 月の料金が支払われたことを意味します (2 番目の例では 1 月から 2 月が支払われました)。
これらの料金が支払われた月数をどうやって数えますか? すなわち。最初の例では、2 番目の例では 3 と 2 が得られると予想されます。
月が常に3文字で表される場合、おそらく使用できます
SELECT FLOOR((length(fee)+1)/4) FROM table_name;
月数をnで示します。文字列の末尾にコンマがないため、コンマの数はnよりも 1 少ないことに注意してください。したがって、このフィールドの長さ、つまり 'fee' は 3*n + (n-1) として表すことができ、 Nとして表すことができるため、 Nに 1 を加えて 4 で割ることができます。下限は、最も近い整数を取得するために切り捨てられます。この場合、どれを削除できますか。
SELECT length(fee)+1)/4 FROM table_name;
length() は文字列の長さを返す関数です。