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