MySQL 中的STRCMP ()函数用于比较两个字符串。如果两个字符串相同,则返回 0,如果根据定义的顺序第一个参数小于第二个参数,则返回 -1,当第二个参数小于第一个参数时返回 1。
语法: STRCMP(Str1, Str2)
参数:此方法接受如下所述的两个参数:
- str1 :它是用于比较的第一个字符串。
- str2 :它是用于比较的第二个字符串。
返回:它可以给出四种值——
- 如果 string1 = string2,则此函数返回 0
- 如果 string1 < string2,则此函数返回 -1
- 如果 string1 > string2,则此函数返回 1
- 如果任何一个或两个字符串为 NULL,则此函数返回 NULL 。
示例 1:用于比较两个相等字符串的STRCMP()函数。由于两个给定的字符串相等,它将返回 0。
Select STRCMP('Geeks', 'Geeks') As 'Cmp_Value'
输出 :
Cmp_Value |
---|
0 |
实施例-2:strcmp()的函数来比较两个字符串,当第二字符串比第一字符串小。在这里,返回值将为 1。
Select STRCMP('Geeks', 'Geek') As 'Cmp_Value'
输出 :
Cmp_Value |
---|
1 |
实施例-3:strcmp()的函数来比较两个字符串,当第二字符串比第一字符串更大。由于第二个字符串大于第一个字符串,结果将为 -1。
Select STRCMP('Geek', 'Geeks') As 'Cmp_Value'
输出 :
Cmp_Value |
---|
-1 |
示例 4: STRCMP()函数在至少一个字符串为 NULL 时比较两个字符串。
Select STRCMP('Geek', NULL) As 'Cmp_Value'
输出 :
Cmp_Value |
---|
NULL |
示例 5: STRCMP()函数也可用于列数据。为了演示创建一个名为 StudentDetails 的表。
CREATE TABLE StudentDetails(
Student_id INT AUTO_INCREMENT,
First_name VARCHAR(100) NOT NULL,
Last_name VARCHAR(100) NOT NULL,
Student_Class VARCHAR(20) NOT NULL,
TotalExamGiven INT NOT NULL,
PRIMARY KEY(Student_id )
插入数据到表中:
INSERT INTO
StudentDetails(First_name, Last_name, Class, TotalExamGiven )
VALUES
('Sayan', 'Jana', 'IX', 8 ),
('Nitin', 'Sharma', 'X', 5 ),
('Aniket', 'Srivastava', 'XI', 6 ),
('Abdur', 'Ali', 'X', 7 ),
('Riya', 'Malakar', 'IX', 4 ),
('Jony', 'Patel', 'X', 10 ),
('Deepak', 'Saini', 'X', 7 ),
('Ankana', 'Biswas', 'XII', 5 ),
('Shreya', 'Majhi', 'X', 8 ) ;
要验证使用以下命令如下。
SELECT * FROM StudentDetails;
输出 :
STUDENT_ID | FIRST_NAME | LAST_NAME | CLASS | TOTALEXAMGIVEN |
---|---|---|---|---|
1 | Sayan | Jana | IX | 8 |
2 | Nitin | Sharma | X | 5 |
3 | Aniket | Srivastava | XI | 6 |
4 | Abdur | Ali | X | 7 |
5 | Riya | Malakar | IX | 4 |
6 | Jony | Patel | X | 10 |
7 | Deepak | Saini | X | 7 |
8 | Ankana | Biswas | XII | 5 |
9 | Shreya | Majhi | X | 8 |
现在,我们将使用 STRCMP 函数比较 First_Name 和 Last_Name 列。
SELECT First_Name, Last_Name,
STRCMP(First_Name, Last_Name) AS Cmp_Value
FROM StudentDetails;
输出 :
FIRST_NAME | LAST_NAME | CMP_VALUE |
---|---|---|
Sayan | Jana | 1 |
Nitin | Sharma | -1 |
Aniket | Srivastava | -1 |
Abdur | Ali | -1 |
Riya | Malakar | 1 |
Jony | Patel | -1 |
Deepak | Saini | -1 |
Ankana | Biswas | -1 |
Shreya | Majhi | 1 |