1. ホーム
  2. mysql

フィールドの「長さ」が1より大きい場合のMySQL SELECTステートメント

2023-08-28 01:40:55

質問

テーブルの中にLINKフィールドがあります。いくつかの行にはリンクがあり、いくつかの行にはありません。

LINKが存在するすべての行を選択したいと思います。(長さがX文字より大きい)。

どのように書けばいいのでしょうか?

どのように解決するのですか?

どうでしょう。

SELECT * FROM sometable WHERE CHAR_LENGTH(LINK) > 1

ここで MySql ストリング関数ページです。 (5.0).

を選んだことに注意してください。 CHAR_LENGTH ではなく LENGTH というように、データ中にマルチバイト文字がある場合は、おそらく 本当に というのは、データ中にマルチバイト文字がある場合、その文字が何バイトで保存されるかではなく、何文字あるかに興味があるからです。したがって、上記の場合、LINK が単一の 2 バイト文字である行は返されないでしょう。 LENGTH .

ただし、もし LINKNULL の結果です。 CHAR_LENGTH(LINK)NULL にもなるので、行は一致しません。