regular quitar para imprimibles funcion expresion especiales eliminar caracteres buscar acentos function postgresql struts-1

function - quitar - select acentos sql server



Función para eliminar acentos en postgreSQL (1)

Use el módulo que unaccent se incluye con PostgreSQL.

somedb=# CREATE EXTENSION unaccent; CREATE EXTENSION somedb=# SELECT unaccent(''Hôtel''); unaccent ---------- Hotel somedb=# SELECT * FROM table WHERE lower(unaccent(table.id)) = lower(''Jose'');

Y acelere un poco las cosas generando un índice sin acento y en minúsculas:

somedb=# CREATE INDEX CONCURRENTLY ON table (lower(unaccent(id)));

Posible duplicado:
¿PostgreSQL soporta intercalaciones "insensibles al acento"?

Estoy tratando de eliminar los acentos, así que cuando hago un SELECCIONAR , los ignora.

Ejemplo:

SELECT * FROM table WHERE table.id ILIKE ''Jose'';

Vuelve:

José Jose Jósé Jóse

o algo así.

Encontré estas funciones y no funcionan. Estoy pensando que puede ser el hecho de que estoy usando Struts 1.X, por favor revísalos y dime dónde estoy equivocado o qué otra función debo usar.

Primera funcion

CREATE OR REPLACE FUNCTION unaccent_string(text) RETURNS text AS $$ DECLARE input_string text := $1; BEGIN input_string := translate(input_string, ''âãäåāăąÁÂÃÄÅĀĂĄ'', ''aaaaaaaaaaaaaaa''); input_string := translate(input_string, ''èééêëēĕėęěĒĔĖĘĚ'', ''eeeeeeeeeeeeeee''); input_string := translate(input_string, ''ìíîïìĩīĭÌÍÎÏÌĨĪĬ'', ''iiiiiiiiiiiiiiii''); input_string := translate(input_string, ''óôõöōŏőÒÓÔÕÖŌŎŐ'', ''ooooooooooooooo''); input_string := translate(input_string, ''ùúûüũūŭůÙÚÛÜŨŪŬŮ'', ''uuuuuuuuuuuuuuuu''); return input_string; END; $$ LANGUAGE plpgql;

Segunda funcion

CREATE OR REPLACE FUNCTION norm_text_latin(character varying) RETURNS character varying AS $BODY$ declare p_str alias for $1; v_str varchar; begin select translate(p_str, ''ÀÁÂÃÄÅ'', ''AAAAAA'') into v_str; select translate(v_str, ''ÉÈËÊ'', ''EEEE'') into v_str; select translate(v_str, ''ÌÍÎÏ'', ''IIII'') into v_str; select translate(v_str, ''ÌÍÎÏ'', ''IIII'') into v_str; select translate(v_str, ''ÒÓÔÕÖ'', ''OOOOO'') into v_str; select translate(v_str, ''ÙÚÛÜ'', ''UUUU'') into v_str; select translate(v_str, ''àáâãäå'', ''aaaaaa'') into v_str; select translate(v_str, ''èéêë'', ''eeee'') into v_str; select translate(v_str, ''ìíîï'', ''iiii'') into v_str; select translate(v_str, ''òóôõö'', ''ooooo'') into v_str; select translate(v_str, ''ùúûü'', ''uuuu'') into v_str; select translate(v_str, ''Çç'', ''Cc'') into v_str; return v_str; end;$BODY$ LANGUAGE ''plpgsql'' VOLATILE;

Ambas funciones generan el siguiente error cuando ejecuto el archivo en NetBeans:

ERROR: unterminated dollar-quoted string at or near "*the string that starts the function*"