0

列の値の長さを調べるにはどうすればよいですか。何かのようなもの:

SELECT * FROM `tablename` WHERE `field`.length > 20

私はこの発言が間違っていることを知っています。どう表現すればいいのかわからないだけです。この問題に関するドキュメントが見つからないようです。

したがって、電話フィールドに 20 文字を超えるすべての行をテーブルから選択する必要があります。

ファイルをインポートしたところ、顧客が 1 つのフィールドに 2 つの電話番号をマージしたため、影響を受けるすべての行を取得して修正する必要があります。

助けてくれてありがとう。

4

4 に答える 4

2

フィールドの長さをバイト単位 (ASCII 文字) で知りたい場合は、LENGTH()関数を使用できます。UTF-8 などの国際文字セットに対して「マルチバイトセーフ」にしたい場合は、CHAR_LENGTH()を使用できます。実際の文字をカウントします。

SELECT * FROM `tablename` WHERE CHAR_LENGTH(`field`) > 20
于 2012-10-10T17:53:11.930 に答える
2

このlength()関数を使用して、フィールドに含まれる文字数を判断できます。

SELECT * 
FROM `tablename` 
WHERE length(`field`) > 20

空白があると思われる場合は、次と組み合わせることができますTRIM()

SELECT * 
FROM `tablename` 
WHERE length(trim(`field`)) > 20
于 2012-10-10T17:48:43.387 に答える
2
SELECT * FROM tablename WHERE LENGTH(field) > 20

このような場合はドキュメントを確認してください。http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

于 2012-10-10T17:48:47.410 に答える
0

長さ () を使用します。

SELECT * FROM tablename WHERE LENGTH(field) > 20
于 2012-10-11T10:16:18.140 に答える