MySQL STRCMP() 函数是什么,该函数的输出结果是什么?
MySQL STRCMP() 函数用于比较两个字符串。我们需要将两个字符串作为该函数的参数提供。下面是语法 −
阅读更多:MySQL 教程
语法
STRCMP(Str1, Str2)
在这里,
- Str1 是用于比较的第一个字符串。
- Str2 是用于比较的第二个字符串。
示例
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)
在上面的示例中,我们可以看到对比两个字符串并根据情况返回结果。
事实上,STRCMP() 函数可以在比较后给出四种不同的结果 −
- 输出 0: 如果两个字符串相同,则 MySQL STRCMP() 函数返回 0。
- 输出 1: 如果第二个字符串小于第一个字符串,则 MySQL STRCMP() 函数返回 1。
- 输出 -1: 如果第一个字符串小于第二个字符串,则 MySQL STRCMP() 函数返回 -1。
- 输出 NULL: 如果 STRCMP() 函数的任一或两个参数为 NULL,则 MySQL STRCMP() 函数返回 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)