📜  MySQL中的STRCMP()函数

📅  最后修改于: 2021-08-25 17:10:22             🧑  作者: Mango

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