1. 単一文字の出現数を確認する
たとえば、how do you do
文字列内の出現数を確認したいとしますd
。
一見するとややこしいですが、まずmysqlには文字の出現数を直接カウントする機能がないので、以下のような方法をとります実際には、出現する文字列を空の文字列に置き換えます。元のデータから置換後の長さを引いたものが出現回数となり、文字の長さは 1 となります。
select LENGTH('how do you do') -
LENGTH( REPLACE ( 'how do you do', 'd', '' ))
2. 複数の文字の出現数を確認する
たとえば、how do you do
文字列内の出現数を確認したいとしますdo
。
SELECT
(
LENGTH( 'how do you do' ) - LENGTH(
REPLACE ( 'how do you do', 'do', '' ))) / LENGTH(
'do')
ここで問題ですが、除算すると小数点以下の桁がたくさん出てきますが、次の方法で小数点以下の桁を取り除くことができます。
SELECT TRUNCATE
((
LENGTH( 'how do you do' ) - LENGTH(
REPLACE ( 'how do you do', 'do', '' ))) / LENGTH( 'do' ),
0)
3. 機能説明
TRUNCATE関数:
- TRUNCATE 関数の公式の説明は次のとおりです。数値の切り捨てられた値を返します。この関数を使用すると、小数部分を削除して、数値の整数部分だけを残すことができます。
- 特定の関数の構文は次のとおりです。
TRUNCATE(X, D)
- X は切り取られる数値を表し、D は保持される小数点以下の桁数を表します。D が正の数の場合は小数点以下の桁数が切り取られ、D が負の数の場合は整数の数が切り取られます。
SELECT TRUNCATE(3.1415926535898, 3)
结果为:3.141
長さ関数:
- 文字列の長さを調べます。文字の長さは 1 です。
- 文法:
LENGTH(字符串)
交換():
- 指定された文字を目的の文字に置き換えます
- 文法:
replace(A,X,D)
- A 文字列に表示される X 文字列を D 文字列に置き換えることを示します