Anasayfa / Postgresql / Postgresql upper lower Türkçe karakter sorunu için function

Postgresql upper lower Türkçe karakter sorunu için function

Postgresql veritabanı kullanıyor ve türkçe karakter girişi yaptığınız alanlarda upper lower fonksiyonlarında sıkıntı yaşıyorsanız bunun sebebi veritabanınızı create ederken locale vermediğiniz için olabilir.

örnek postgresql create database cümlemiz:

CREATE DATABASE my_db ENCODING='UTF-8' LC_COLLATE='tr_TR.UTF-8' TEMPLATE=template0;

 

CREATE OR REPLACE FUNCTION "public".upper_tr("varchar")
RETURNS "varchar" AS
$BODY$
BEGIN
RETURN UPPER(TRANSLATE($1,'ıi','Iİ'));
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;




CREATE OR REPLACE FUNCTION "public".lower_tr("varchar")
RETURNS "varchar" AS
$BODY$
BEGIN
RETURN lower(TRANSLATE($1,'Iİ','ıi'));
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

windows için

CREATE DATABASE tr_demo
ENCODING='UTF-8'
LC_COLLATE = 'Turkish_Turkey.1254'
LC_CTYPE='Turkish_Turkey.1254'
TEMPLATE template0;

ayrıca farklı bir çözüm
https://stackoverflow.com/questions/13029824/postgres-upper-function-on-turkish-character-does-not-return-expected-result

 

Hakkında ibrahim

İlgili Makaleler

postgresql find dependent object

https://stackoverflow.com/questions/4462908/find-dependent-objects-for-a-table-or-view   SELECT dependent_ns.nspname as dependent_schema , dependent_view.relname as dependent_view , source_ns.nspname as source_schema , …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir