2012-02-27 31 views
5

En una columna de tabla, tengo este valor:Como lee cadena desde la derecha PLSQL

DV-2011-01-000004 (el tipo de datos es varchar2)

¿Cómo puedo obtener la parte de la cadena '000004'? En t-sql tienen esta función derecha() pero en PL SQL no puedo encontrar una función exactamente igual a la derecha() en t-sql.

Gracias por la ayuda.

+2

Con el fin de que esta pregunta puede ayudar a los desarrolladores futuros: por favor, editar su pregunta para indicar exactamente cuál era su requerimiento - que hacer desea obtener la cadena de caracteres después del último '-', o ¿simplemente desea obtener los 6 caracteres más a la derecha? –

Respuesta

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

Creo que quiere es para uso general, no solo por ahora ... –

+0

derecha() en t-sql es lo mismo que substr (longitud - neededchar) – turbanoff

+0

Ok let él decide, generalmente soy para soluciones generales y no específicas. –

2

puede utilizar:

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

cuando se utiliza con INSTR posición inicial negativa se encontrará con el último índice de "-". continuación SUBSTR será cortado de este suceso hasta el final (porque no suministró Longitud)

+0

en pl/sql comillas dobles usadas para identificadores, no para cadena – turbanoff

Cuestiones relacionadas