Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2013, 13:07
lbaro
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Reemplazo de cadena

TENGO ESTA FUNCION LO QUE QUIERO LOGRAR CON ELLA ES DESPLAZARME DENTRO DE UN ARREGLO PARA COMPARAR LAS PALABRAS PARA CAMBIARLAS Y NO ME COGE EL CONCATENAR, ME DEVUELVE LA VARIABLE NADA MAS ASI SIN LAS PALABRAS DEL ARREGLO
Q HACER????
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION otraprueba()
  2.   RETURNS SETOF fila_procesada AS
  3. $BODY$
  4. DECLARE
  5. fila fila_procesada;
  6. palabra VARCHAR;
  7. palabra_dentro VARCHAR;
  8. fin INTEGER;
  9. fin_dentro INTEGER;
  10. var record;
  11. longitud INTEGER;
  12. temporal VARCHAR;
  13. arreglo VARCHAR[]:= '{}';
  14. tupla VARCHAR[]:= '{}';
  15. aux VARCHAR[]:= '{noooooo}';
  16. BEGIN
  17. FOR var IN SELECT idtarea, tarea FROM prueba
  18. loop
  19.   temporal:= (SELECT regexp_replace(var.tarea, '[^a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚ]+','/','g'));
  20.   temporal:= (SELECT btrim(temporal, '0123456789./ '));
  21.   temporal:= (SELECT ltrim(temporal,'0123456789./ '));
  22.   temporal:= (SELECT UPPER(SUBSTRING(temporal,1,1)) || LOWER(SUBSTRING(temporal, 2)));
  23.   arreglo := (SELECT regexp_split_to_array(temporal, '[^a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚ]+'));
  24. fin:= (SELECT array_length(arreglo,1))::INTEGER;
  25. FOR i IN 1..fin
  26. loop
  27. palabra:= arreglo[i];
  28. tupla:=(SELECT regexp_split_to_array(palabra, '[^a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚ]+'));
  29. fin_dentro:=(SELECT array_length(tupla,1))::INTEGER;
  30. FOR j IN 1..fin_dentro
  31. loop
  32. palabra_dentro:=tupla[j];
  33. IF palabra_dentro LIKE 'NC'
  34. --if similarity(palabra_dentro,'NC')=1
  35. THEN SELECT REPLACE(palabra_dentro,'NC','no conformidades');
  36. perform array_append(aux,palabra_dentro);
  37. ELSE
  38. perform array_append(aux,palabra_dentro);
  39. END IF;
  40. END loop;
  41. END loop;
  42. fila.idtarea:= var.idtarea;
  43. fila.tarea := aux;
  44. RETURN NEXT fila;
  45. END loop;
  46. RETURN;
  47. END;
  48. $BODY$
  49.   LANGUAGE plpgsql

Última edición por gnzsoloyo; 07/05/2013 a las 13:29