Función STRCMP() en MySQL

La función STRCMP() en MySQL se usa para comparar dos strings. Si ambas strings son iguales, devuelve 0, si el primer argumento es más pequeño que el segundo según el orden definido, devuelve -1 y devuelve 1 cuando el segundo es más pequeño que el primero.

Sintaxis: STRCMP(Str1, Str2)

Parámetro: este método acepta dos parámetros como se describe a continuación:

  • str1: es la primera string utilizada para la comparación.
  • str2 : Es la segunda string utilizada para la comparación.

Devoluciones: puede dar cuatro tipos de valor:

  • Si string1 = string2, esta función devuelve 0
  • Si string1 < string2, esta función devuelve -1
  • Si string1 > string2, esta función devuelve 1
  • Si una o ambas strings son NULL, esta función devuelve NULL.

Ejemplo-1: Función STRCMP() para comparar dos strings iguales. Como ambas strings dadas son iguales, devolverá 0.

Select STRCMP('Geeks', 'Geeks') As 'Cmp_Value'

Producción :

valor_cmp
0

Ejemplo-2: función STRCMP() para comparar dos strings cuando la segunda string es más pequeña que la primera string. Aquí, el valor de retorno será 1.

Select STRCMP('Geeks', 'Geek') As 'Cmp_Value'

Producción :

valor_cmp
1

Ejemplo-3: Función STRCMP() para comparar dos strings cuando la segunda string es más grande que la primera string. Como la segunda string es mayor que la primera el resultado será -1.

Select STRCMP('Geek', 'Geeks') As 'Cmp_Value'

Producción :

valor_cmp
-1

Ejemplo-4: Función STRCMP() para comparar dos strings cuando al menos una string es NULL.

Select STRCMP('Geek', NULL) As 'Cmp_Value'

Producción :

valor_cmp
NULO

Ejemplo-5: la función STRCMP() también se puede usar en los datos de la columna. Para demostrarlo, cree una tabla llamada 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 )

Inserción de datos en la tabla:

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 ) ;

Para verificar usó el siguiente comando de la siguiente manera.

SELECT * FROM StudentDetails;

Producción :

IDENTIFICACIÓN DEL ESTUDIANTE PRIMER NOMBRE APELLIDO CLASE TOTALEXAMGIVEN
1 Sayán Jana IX 8
2 nitina 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 Sainí X 7
8 Ankana Biswas XII 5
9 Shreya Majhi X 8

Ahora, vamos a comparar entre la columna First_Name y Last_Name usando la función STRCMP.

SELECT First_Name, Last_Name,
STRCMP(First_Name, Last_Name) AS Cmp_Value 
FROM StudentDetails;

Producción :

PRIMER NOMBRE APELLIDO CMP_VALUE
Sayán Jana 1
nitina Sharma -1
Aniket Srivastava -1
Abdur Ali -1
Riya Malakar 1
Jony Patel -1
Deepak Sainí -1
Ankana Biswas -1
Shreya Majhi 1

Publicación traducida automáticamente

Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *