Próbuję pobrać ostatnie cztery znaki tylko z pola varchar. Wszystkie rzędy mają różne długości. Jakiej funkcji powinienem użyć, aby to osiągnąć?
Próbuję pobrać ostatnie cztery znaki tylko z pola varchar. Wszystkie rzędy mają różne długości. Jakiej funkcji powinienem użyć, aby to osiągnąć?
Odpowiedzi:
SUBSTR(column, LENGTH(column) - 3, 4)
LENGTH
zwraca długość łańcucha i SUBSTR
zwraca 4 znaki z „długość pozycji - 4”
SUBSTR(column, LENGTH(column) - 3, 4)
. Jeśli długość wynosi 4, musimy zacząć od pozycji 1 i wziąć 4 znaki.
RIGHT ( character_expression , integer_expression )
SELECT RIGHT(column, 4) FROM ...
Również lista innych funkcji tekstowych .
Użyj RIGHT()
funkcji: http://msdn.microsoft.com/en-us/library/ms177532(v=sql.105).aspx
SELECT RIGHT( '1234567890', 4 ); -- returns '7890'
W przypadku Oracle SQL SUBSTR(column_name, -# of characters requested)
wyodrębni ostatnie trzy znaki dla danego zapytania. na przykład
SELECT SUBSTR(description,-3) FROM student.course;
sprawdzone rozwiązanie na 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');