MySQL中的STRCMP ()函数用于比较两个字符串。如果两个字符串都相同,则返回0,如果根据定义的顺序第一个参数小于第二个参数,则返回-1,而当第二个参数小于第一个参数时,则返回1。
语法: STRCMP(Str1,Str2)
参数:该方法接受两个参数,如下所述:
- str1:这是用于比较的第一个字符串。
- str2:这是用于比较的第二个字符串。
回报:它可以给出四种价值–
- 如果string1 = string2,则此函数返回0
- 如果string1
- 如果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 |