Olası Çoğalt aksan kaldırmak için: Bir onları yok sayar SEÇ yapmak zaman çok vurgular kaldırmak çalışıyorum
Does PostgreSQL support “accent insensitive” collations?Fonksiyon postgreSQL
.
Örnek:
SELECT * FROM table WHERE
table.id ILIKE 'Jose';
O döndürür: Böyle
José
Jose
Jósé
Jóse
falan.
Bu işlevleri buldum ve işe yaramazlar, Struts 1.X kullanıyorum gerçeği olabileceğini düşünüyorum, lütfen onları kontrol edin ve nerede yanlış olduğumu veya başka hangi işlevi yapmalıyım? kullanın.
İLK İŞLEVİ
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;
İKİNCİ İŞLEVİ
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;
Ben NetBeans dosyayı çalıştırdığınızda Her iki fonksiyon aşağıdaki hata oluşturmak:
ERROR: unterminated dollar-quoted string at or near "*the string that starts the function*"
Endeksi oluşturma çalışmaz: Bir accentless üreterek
Ve hız şeyler kadar biraz endeks alt kasalı. – usamec