MySQL LENGTH()関数の同義語はどの関数ですか?
ご存知のとおり、MySQL OCTET_LENGTH()関数は文字列の長さも「バイト」で測定するため、MySQL LENGTH()関数の同義語です。この関数の構文はOCTET_LENGTH(Str)です。ここで、Strは文字列の長さを返す必要がある文字列です。
LENGTH()関数のようにマルチバイトセーフでもありません。たとえば、文字列に4つの2バイト文字が含まれている場合、OCTET_LENGTH()関数は8を返します。これは次の例で示されています-
例
mysql> Select OCTET_LENGTH('tutorialspoint'); +--------------------------------+ | OCTET_LENGTH('tutorialspoint') | +--------------------------------+ | 14 | +--------------------------------+ 1 row in set (0.00 sec)
上記の結果セットは、文字列「tutorialspoint」の長さがまだUnicode文字に変換されていないため14であることを示しています。次のクエリはそれをUnicode文字に変換します-
mysql> SET @A = CONVERT('tutorialspoint' USING ucs2); Query OK, 0 rows affected (0.02 sec)
Unicodeで文字列を変換すると、以下に示すように、Unicodeでは1文字が2バイトかかるため、結果は14ではなく28になります-
mysql> Select OCTET_LENGTH(@A); +------------------+ | OCTET_LENGTH(@A) | +------------------+ | 28 | +------------------+ 1 row in set (0.00 sec)
-
MySQLで文字の長さで並べ替える
MySQLで文字の長さで並べ替えるには、ORDER BY LENGTH()を使用します。最初にテーブルを作成しましょう: mysql> create table orderingAADemo -> ( -> Value varchar(100) -> ); Query OK, 0 rows affected (1.30 sec) 以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。 mysql> insert into orderingAADemo v
-
MySQLの列の長さで並べ替え
MySQLで列の長さで並べ替えるには、ORDERBYLENGTHを使用します。 まずテーブルを作成しましょう- mysql> create table DemoTable715 (UserMessage varchar(100)); Query OK, 0 rows affected (0.56 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable715 values('Aw'); Query OK, 1 row affected (0.49 sec) mysql> inse