MANEJO DE CADENAS

Los formatos con el argumento 'longitud' devuelven una subcadena de 'longitud' caracteres desde la 'cadena', comenzando en la 'posición'.

Sintaxis:

substr(Cadena(string),posición,longitud).

Ejemplo:

substr(carnet, 1, 3).


1. Listar los alumnos de carreras diferentes a sistemas ('070', '072', '060').

Sintaxis:

select carnet, nombre from alumno where substr(carnet, 1, 3) not in ('070', '072', '060');


2. Listar los alumnos de tecnología en redes ('072').

Sintaxis:

select carnet, nombre from alumno where substr(carnet, 1, 3) in ('072');


3. Listar los alumnos de sistemas ('070', '072', '060').

Sintaxis:

select carnet, nombre from alumno where substr(carnet, 1, 3) in ('070', '072', '060'); 


4. Mostrar el total de alumnos que iniciaron el primer semestre del año.

Sintaxis:

select count(*) from alumno where substr(carnet, 6, 1) in ('1');


5. Listar los alumnos que se matricularon en el segundo semestre del año.

Sintaxis:

select * from alumno where substr(carnet, 6, 1) in ('2');


6. ¿Cuántos alumnos se matricularon antes del 2010?

Sintaxis:

select count(carnet) from alumno where substr(carnet, 4, 2) < ('10');


7. ¿Cuántos alumnos no son de tecnología en sistemas?

Sintaxis:

select count(carnet) from alumno where substr(carnet, 1, 2) NOT IN('07');


8. Ordenar a los alumnos por año de matricula.

Sintaxis:

select * from alumno order by substr(carnet, 4, 2);


9. Listar los alumnos que tengan menos de 20 caracteres en su nombre.

Sintaxis:

select nombre from alumno where character_length(nombre) < 20;


10. Listar los alumnos de tecnología que estén matriculados antes del 2007 en el primer semestre.

Sintaxis:

select * from alumno where substr(carnet, 1, 2) in ('07') and substr(carnet, 6, 1) in ('1') and substr(carnet, 4, 2) < ('07');


11. Mostrar el carnet mayor de los alumnos que aparecen en el sistema (sin incluir carrera, año de matricula o semestre, solo los últimos 4 dígitos).

Sintaxis:

select max(substr(carnet, 7, 4)) from alumno;


12. Mostrar el carnet mayor de los alumnos que no son de tecnología (sin incluir carrera, año de matricula o semestre, solo los últimos 4 dígitos). 

Sintaxis:

select max(substr(carnet, 7, 4)) from alumno where substr(carnet, 1, 2) not in ('07');


13. Mostrar los carnés que inicien en 088, tienen descuento del 10 % de lo contrario pagan todo el valor de la matricula.

Sintaxis:

select carnet, nombre, if(carnet like '088%' or carnet like '075%', 'tiene 10 % de descuento', 'No tiene descuento') from alumno;









¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar