2012-02-27 6 views
5

В столбце таблицы, у меня есть это значение:Как читать строки из правой PLSQL

DV-2011-01-000004 (тип данных VARCHAR2)

Как я могу получить часть строка '000004'? В t-sql у них есть эта функция right(), но в PL SQL i cant'seem найти функцию точно так же, как right() в t-sql.

Спасибо за помощь.

+2

Для того, что этот вопрос может помочь будущим разработчикам: измените ваш вопрос заявить, что именно ваше требование было - сделать вас хотите получить строку символов после последнего «-», или вы хотите просто получить самые правые 6 символов? –

ответ

8
substr('DV-2011-01-000004', length('DV-2011-01-000004')-6 + 1) 
+0

Я думаю, он хочет для общего использования, не только на данный момент. –

+0

right() в t-sql такой же, как substr (длина - необходимыйchar) – turbanoff

+0

Ok let он решает, я вообще для общих решений, а не для конкретных. –

2

вы можете использовать:

SUBSTR('DV-2011-01-000004', INSTR('DV-2011-01-000004', '-', -1) +1) 

при использовании INSTR с отрицательной начальной позиции он будет найти последний индекс «-». затем SUBSTR будет вырезаны из этого явления до конца (потому что я не снабжал длиной)

+0

в двойных кавычках pl/sql, используемых для идентификаторов, а не для строки – turbanoff

Смежные вопросы