Anasayfa / Database / 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 gümrük beyanname tescil no regex domain

create domain dmn_tescilno varchar(16) check ( value ~ '^[0-9]{8}((IM)|(EX)|(AN)|(TR)|(DG)|(T0)|(C0)|(B0)|(G0)|(M0)|(R0)|(RL))[0-9]{6}$'); select '22222222AN111111'::dmn_tescilno;  

Bir yorum

  1. sene 2021 olmasına rağmen bill amca bu sorunu neden çözmez, teşekkürler bilgi için.

Bir cevap yazın

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