SQL - problema substr

   
Vista:

problema substr

Publicado por susana (1 intervención) el 06/11/2007 13:17:51
Hola, mi problema es el siguiente:

Tengo registros de dos tipos digamos

DESPACHO (7.40)
DESPACHO (ASOC. ESTUDIANTES) (2.260)

Digo de dos tipos porque necesito extraer de ambos tipo de registros sólo el número,
en el primer caso el 7.40 y en el segundo caso el 2.260.

Habia probado a hacerlo usando substr e instr del siguiente modo:

SUBSTR(d_local, INSTR(d_local, '(', 1, 1 )+1 , INSTR(d_local, ')', 1, 1 )-INSTR(d_local, '(', 1, 1 )-1)

pero el problema es que como busca de patron el ( y el ), devuelve para el primer caso 7.40 y para el segundo ASOC. ESTUDIANTES.
¿Alguien sabe como puedo hacer la consulta correctamente?

Muchas gracias ;-)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema substr

Publicado por Isaias (5073 intervenciones) el 06/11/2007 17:21:27
¿Que base de datos estas ocupando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema substr

Publicado por lcc (17 intervenciones) el 06/11/2007 19:16:30
hola.
la funcion INSTR devuelve la primera ocurrencia que encuentre por eso para el segundo caso devuelve ya ASOC. ESTUDIANTES ya que es hay donde encuentra el primer '('
es por ello que para el primer caso anda bien , pero si le agregas al primer caso por ejemplo DESPACHO (Asoc ) (7.40) el codigo que tienes te devolveria "Asoc"
por lo cual no te sirve.

para ver otra solucion pienso que debes ver otra forma ya se sabiendo cual es el largo de la parte numerica con la cual estas trabajando por ejemplo esto para tratar de tomarlo un na parte del string partiendo desde el final de la cadena. y de ahi aplicar el instr o el substr.

nota: no todas las base de datos ocupan substr o instr, digo esto ya que es un foro de SQL y no de una BD en particular.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema substr

Publicado por Isaias (5073 intervenciones) el 06/11/2007 22:29:00
De acuerdo lcc

Solo que cada motor, tiene sus particularidades al respecto.

Con SQL Server, es SUBSTRING y podrias hacerlo mucho mas rapido con LEFT(CAMPO, n)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar