MySQL STRCMP() 函数
MySQL STRCMP() 函数接受两个字符串值作为参数并进行比较 -
- 如果两个字符串相等,此函数返回 0。
- 如果第一个参数大于第二个参数,此函数返回 1。
- 如果第一个参数小于第二个参数,此函数返回 -1。
- 如果其中一个参数为 NULL,此函数返回 NULL。
- 如果两个参数均为空字符串,此函数返回 0。
语法
以下是 MySQL STRCMP() 函数的语法 -
STRCMP(expr1, expr2)
参数
此函数接受两个字符串值作为参数。
返回值
如果两个字符串相等,此函数返回 0;如果第一个字符串更大,则返回正值;如果第二个字符串更大,则返回负值。
示例
在以下示例中,我们比较两个相等的字符串 -
SELECT STRCMP('tutorialspoint', 'tutorialspoint');
以下是上述代码的输出 -
| STRCMP('tutorialspoint', 'tutorialspoint') |
|---|
| 0 |
示例
在这里,我们比较两个字符串,其中第一个字符串按字母顺序小于第二个字符串 -
SELECT STRCMP('test', 'text');
上述代码的输出如下所示 -
| STRCMP('test', 'text') |
|---|
| -1 |
示例
现在,我们比较两个字符串,其中第一个字符串按字母顺序大于第二个字符串 -
SELECT STRCMP('banana', 'apple');
输出结果如下:-
| STRCMP('banana', 'apple') |
|---|
| 1 |
示例
如果此函数的两个参数均为空,则返回 0。-
SELECT STRCMP('', '');
我们得到如下输出 -
| STRCMP('', '') |
|---|
| 0 |
示例
如果此函数的任一参数为 NULL,则返回 NULL -
SELECT STRCMP(NULL, 'test');
以下是上述代码的输出 -
| STRCMP(NULL, 'test') |
|---|
| NULL |
示例
您也可以将数值作为参数传递给此函数 -
SELECT STRCMP(225, 56);
上述代码的输出如下所示 -
| STRCMP(225, 56) |
|---|
| -1 |
示例
让我们创建一个名为"STUDENTS_TABLE"的表,并使用 CREATE 和 INSERT 语句向其中插入记录,如下所示 -
CREATE TABLE STUDENTS_TABLE ( name VARCHAR(15), marks INT, grade CHAR );
现在,让我们使用 INSERT 语句将记录插入其中 -
INSERT INTO STUDENTS_TABLE VALUES
('Raju', 80, 'A'),
('Rahman', 60, 'B'),
('Robert', 45, 'C');
获得的STUDENTS_TABLE如下-
| name | marks | grade |
|---|---|---|
| Raju | 80 | A |
| Rahman | 60 | B |
| Robert | 45 | C |
以下查询将"name"列的实体与字符串"Raju"进行比较并检索结果 -
SELECT name, marks, grade, STRCMP(name, 'Raju') FROM STUDENTS_TABLE;
执行上述代码后,我们得到以下输出 -
| name | marks | grade | STRCMP(name, 'Raju') |
|---|---|---|---|
| Raju | 80 | A | 0 |
| Rahman | 60 | B | -1 |
| Robert | 45 | C | 1 |
mysql-strcmp-function.html