2012-02-27 30 views
5

gelen dize okumak nasıl bu değere sahip:bir tablo sütununda sağ PLSQL

DV-2011-01-000004

Nasıl bir kısmını alabilirsiniz (veri türü varchar2 olan) '000004' dizesi? T-sql'de bu right() işlevine sahiptirler ancak PL SQL'de t-sql'de sağ() gibi bir işlev bulmak için cant'seem. Yardım için

teşekkürler.

+2

(Ben Süresi arz etmedi çünkü) sonra SUBSTR sonuna kadar bu olay dan kesecek: En gereksinimi tam olarak ne ifade etmek sorunuzu düzenleyin - do you son '-' sonrası karakter dizisini almak ister misiniz, yoksa en fazla 6 karakter almak mı istersiniz? –

cevap

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

Ben sadece şu an için değil, genel kullanım içindir. –

+0

right() in t-sql, substr (length - neededchar) ile aynıdır – turbanoff

+0

Tamam Ona karar verir, genel çözümler içindeyim ve spesifik olmayanlar için. –

2

kullanabilirsiniz:

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

negatif başlama konumuyla INSTR kullanırken o son endeksini bulacaksınız "-". Bu soru gelecek geliştiriciler yardımcı olabileceğini amacıyla

+0

pl/sql çift tırnak için kullanılan tanımlayıcılar için değil, dize için değil – turbanoff

İlgili konular