Estoy tratando de tomar los últimos cuatro caracteres solo de un campo varchar. Todas las filas tienen diferentes longitudes. ¿Qué función debería usar para lograr esto?
Respuestas:
Lo correcto debería hacer:
select RIGHT('abcdeffff',4)
SUBSTR(column, LENGTH(column) - 3, 4)
LENGTH
devuelve la longitud de la cadena y SUBSTR
devuelve 4 caracteres de "la longitud de la posición - 4"
SUBSTR(column, LENGTH(column) - 3, 4)
. Si la longitud es 4, debemos comenzar en la posición 1 y tomar 4 caracteres.
RIGHT ( character_expression , integer_expression )
SELECT RIGHT(column, 4) FROM ...
También una lista de otras funciones de cadena .
Utilice la RIGHT()
función: http://msdn.microsoft.com/en-us/library/ms177532(v=sql.105).aspx
SELECT RIGHT( '1234567890', 4 ); -- returns '7890'
Para Oracle SQL, SUBSTR(column_name, -# of characters requested)
extraerá los últimos tres caracteres para una consulta determinada. p.ej
SELECT SUBSTR(description,-3) FROM student.course;
solución probada en hackerrank ....
select distinct(city) from station
where substr(lower(city), length(city), 1) in ('a', 'e', 'i', 'o', 'u') and substr(lower(city), 1, 1) in ('a', 'e', 'i', 'o', 'u');