Как взять последние четыре символа из varchar?

92

Я пытаюсь взять последние четыре символа только из поля varchar. Все ряды разной длины. Какую функцию мне следует использовать для этого?

Майкл А
источник

Ответы:

226

Правильно надо делать:

select RIGHT('abcdeffff',4)
Луч пустоты
источник
20
SUBSTR(column, LENGTH(column) - 3, 4)

LENGTHвозвращает длину строки и SUBSTRвозвращает 4 символа из «длина позиции - 4»

Drchris
источник
2
Добро пожаловать в SO и спасибо за ответ. Пожалуйста, подумайте о добавлении контекста в ваш код, а также о его форматировании.
Ричард Эриксон
2
Здесь есть ошибка "за одним". Должно быть SUBSTR(column, LENGTH(column) - 3, 4). Если длина равна 4, нам нужно начать с позиции 1 и взять 4 символа.
Karl
9

Для Oracle SQL SUBSTR(column_name, -# of characters requested)извлекает последние три символа для данного запроса. например

SELECT SUBSTR(description,-3) FROM student.course;
Александр
источник
Обратите внимание, это не работает для ms sql / sql-server, верно?
ScottFoster1000 05
-3

проверенное решение на хакерранке ....

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');
Пратиштха Трипати
источник