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)
-
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の連結結果を表示する出力です +---------------------------------------+ |
-
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