MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

  1. 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

  2. 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