MySQL STRCMP() 函数使用当前字符集检查两个字符串是否相同。根据 string1 和 string2 的值,该函数返回以下内容:
- 如果 string1 小于 string2,则返回 -1。
- 如果 string1 和 string2 相同,则返回 0。
- 如果string1大于string2,则返回1。
语法
STRCMP(string1, string2)
参数
string1 | 必填。 指定要比较的第一个字符串。 |
string2 | 必填。 指定要比较的第二个字符串。 |
返回值
返回以下值:
- 如果 string1 小于 string2,则返回 -1。
- 如果 string1 且string2 相同。
- 如果 string1 大于 string2,则返回 1。
示例 1:
下面的示例展示了 STRCMP() 函数的用法。
mysql> SELECT STRCMP('Hello', 'Hello');
Result: 0
mysql> SELECT STRCMP('Hello', 'World');
Result: -1
mysql> SELECT STRCMP('World', 'Hello');
Result: 1
mysql> SELECT STRCMP('HELLO', 'hello');
Result: 0
示例 2:
考虑一个名为 Employee 的数据库表,其中包含以下记录:
EmpID | FirstName | LastName |
---|---|---|
1 | John | Smith |
2 | Marry | Knight |
3 | Jo | Williams |
4 | Kim | Fischer |
5 | Ramesh | Gupta |
6 | Huang | Zhang |
在下面的查询中,使用了 STRCMP() 函数比较FirstName列和LastName列的记录。
SELECT *, STRCMP(FirstName, LastName) AS STRCMP_Value FROM Employee;
这将产生如下结果:
EmpID | FirstName | LastName | STRCMP_Value |
---|---|---|---|
1 | John | Smith | -1 |
2 | Marry | Knight | 1 |
3 | Jo | Williams | -1 |
4 | Kim | Fischer | 1 |
5 | Ramesh | Gupta | 1 |
6 | Huang | Zhang | -1 |