¿Consulta en MySql como tomar los últimos caracteres de un campo?

En mi base de datos tengo un campo expe que en algunos casos se compone de números y signos, que se pueden dar 2 casos

11/2005

12/2012-13

Lo que necesito es que de esa cadena tomar los últimos 3 caracteres y verificar si existe el carácter '-' según en unas páginas podría usar la función LOCALE o POSITION pero no se si la función es incorrecta o de que otra manera puedo verificar la cadena de caracteres y ver si hay un '-' en ella

5

5 Respuestas

25 pts.

La primera opción no la quería utilizar era necesariamente con un query, pero quería encontrar algo parecido en mysql y de hecho si era parecido a la sentencia locale que había encontrado, en la segunda opción la mayoría de esas páginas ya había revisado y mejor oprte por buscar la función LOCALE pero me mando otra que es la función LOCATE la cual la utilice así

SELECT *
FROM `tabla`
WHERE(

SELECT LOCATE( '-', EXPE )

) = '0'

Si es que devuelve '0' es que no encontró ese carácter o si es que se escribe una cadena, dentro del campo EXPE, así ya me trae todos los expedientes que no contienen ese guion.

14.275 pts. programador con experiencia en bases de datos relacionables

$p1 = strpos($variable,"-");

Si $p1 es mayor que cero entonces existe "-" en la posición $p1

Entonces sustraes desde &p1 hasta el final así:

$resultado = substr($variable,$p1);

Estero te sirva.

SiREZ

275 pts.

Algo sencillo:

Select * from tabla where LEFT(RIGHT(EXPE,3),1) = '-';

Obviamente siempre y cuando el '-' este en la tercera intentar comenzando de la derecha.

987.755 pts.
275 pts.

Claro que si

Utiliza strpos, substr strlen, con esto puedes ver si l longitud del cmpo es mayor a cero,

Con strlen obtienes la longitud total, de allí sacas las 3 ultimas

Con strpos sabes si existe el - y en que intentar esta... etc

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas