2012-02-27 19 views
5

W kolumnie tabeli, mam następującą wartość:Jak odczytać napis z prawej plsql

DV-2011-01-000004 (typ danych jest varchar2)

Jak mogę dostać część ciąg "000004"? W t-sql mają tę funkcję right(), ale w PL SQL i cant'seem znaleźć funkcję podobną do right() w t-sql.

Dzięki za pomoc.

+2

W porządku, że to pytanie może pomóc w przyszłych programistów: Proszę edytować swoje pytanie stwierdzić dokładnie, jaka była twoja wymóg - prawda chcesz zdobyć ciąg znaków po ostatnim "-", czy chciałbyś po prostu uzyskać prawe 6 znaków? –

Odpowiedz

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

Myślę, że on chce do ogólnego użytku, nie tylko na teraz .. –

+0

right() w t-sql jest taki sam jak substr (length - neededchar) – turbanoff

+0

OK let on decyduje, generalnie mam ogólne rozwiązania, a nie konkretne. –

2

można użyć:

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

podczas korzystania INSTR z ujemnej pozycji startowej znajdzie ostatni indeks „-”. następnie SUBSTR odetnie od tego zdarzenia do końca (bo nie dostarczają długość)

+0

w pl/sql podwójne cudzysłowy używane do identyfikatorów, a nie do stringów – turbanoff