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

MySQL STRCMP()関数とは何ですか?この関数の出力はどうなりますか?


MySQL STRCMP()関数は、その名前が示すように、2つの文字列を比較するために使用されます。この関数の引数として両方の文字列を提供する必要があります。以下の構文で示されています-

構文
STRCMP(Str1, Str2)

ここで、

  • Str1は比較に使用される最初の文字列です。
  • Str2は比較に使用される2番目の文字列です。

mysql> Select STRCMP('MySQL', 'MySQL');
+--------------------------+
| STRCMP('MySQL', 'MySQL') |
+--------------------------+
|                        0 |
+--------------------------+
1 row in set (0.00 sec)

mysql> Select STRCMP('MSQL', 'MySQL');
+-------------------------+
| STRCMP('MSQL', 'MySQL') |
+-------------------------+
|                      -1 |
+-------------------------+
1 row in set (0.00 sec)

mysql> Select STRCMP('MySQL', 'MSQL');
+-------------------------+
| STRCMP('MySQL', 'MSQL') |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set (0.00 sec)

上記の例では、2つの文字列間で比較が行われ、MySQLがそれに応じて出力を返すことがわかります。

基本的に、STRCMP()関数は比較後に4種類の出力を提供できます-

  • 出力0: MySQL STRCMP()関数は、両方の文字列が同じ場合は0を返します。
  • 出力1: MySQL STRCMP()関数は、2番目の文字列が最初の文字列よりも小さい場合に1を返します。
  • 出力-1: MySQL STRCMP()関数は、最初の文字列が2番目の文字列よりも小さい場合に-1を返します。
  • 出力NULL: MySQL STRCMP()関数は、STRCMP()関数の引数のいずれかまたは両方がNULLの場合、NULLを返します。

mysql> Select STRCMP('Test', 'Test')As 'Equal Strings', STRCMP('TestABC', 'Test')AS '2nd Smaller', STRCMP('Test', 'TestABC')AS '1st Smaller', STRCMP('Test', NULL)As '2nd NULL',STRCMP(NULL, 'Test')AS '1st NULL',STRCMP(NULL,NULL)AS 'Both NULL';
+---------------+-------------+-------------+----------+----------+-----------+
| Equal Strings | 2nd Smaller | 1st Smaller | 2nd NULL | 1st NULL | Both NULL |
+---------------+-------------+-------------+----------+----------+-----------+
|       0       |      1      |      -1     |    NULL  |    NULL  |    NULL   |
+---------------+-------------+-------------+----------+----------+-----------+
1 row in set (0.00 sec)

  1. MySQLでserver_idとUUIDを連結するとどうなりますか?

    はい、server_idとUUIDを簡単に連結できます。構文は次のとおりです SELECT CONCAT(@@ server_id,UUID()) 上記では、@@server_idを使用してserver_idの値を取得しました。 @@ server_idは、システム定義の変数です。クエリを見ないようにしましょう mysql> SELECT CONCAT(@@server_id, UUID()) AS ServerUUIDDemo; 以下は、server_idとUUIDの連結結果を表示する出力です +---------------------------------------+ |

  2. MySQLのCHAR()の逆関数は何ですか

    CHAR()の逆関数は、MySQLのASCII()またはORD()です。ここで、ASCII()は左端の文字の数値を返しますが、ORD()は引数の左端の文字の文字コードを返します まずテーブルを作成しましょう- mysql> create table DemoTable (    Value int,    Value1 char(1),    Value2 char(1) ); Query OK, 0 rows affected (0.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mys