Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Convert cir to lat

[es] :: Oracle :: Convert cir to lat

[ Pregleda: 2014 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Kety

Član broj: 49094
Poruke: 53
212.200.132.*



+8 Profil

icon Convert cir to lat14.09.2016. u 08:12 - pre 47 meseci
Zamolila bi ako neko može da me uputi kako bi mogla da konvertujem ćirilicu u latinicu.
Naime, imam puno tabela sa dosta slogova koji su uneti ćiricom. Treba da napravim view-ove koji će prikazivati podatke iz tih tabela ali da prikazuje latinicu.
Pokušavam da nađem neku funkciju koja bi mi rešila problem ali mi ne ide, pa ako bi neko mogao da pomogne.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 2871



+1183 Profil

icon Re: Convert cir to lat14.09.2016. u 11:27 - pre 47 meseci
Pa, moraćeš sama da napišeš funkciju.
TRANSLATE radi skoro to što ti treba, ali ne može da uradi prebacivanje ćiriličnih slova lj, nj i dž u latinična (zato što ne ume da prebaci jedno slovo u dva slova).

Recimo:

SELECT TRANSLATE('ABBA', 'AB', '12) FROM DUAL

daće rezultat

1221

Smisao ovo komande je da se od ulaznog stringa (ABBA) svaka pojava slova A zameni znakom 1, a svaka pojava slova B zameni znakom 2.

Dakle, treba da zameniš ćirilična slova latiničnim, uz problem koji moraš drugačije da rešiš sa slovima koje se moraju pretvoriti u dva slova u latiničnom tekstu).

Slova koja nisu spomenuta u onom nizu 'AB' neće se zameniti nego će se prepisati. Ako je zamenski niz kraći od niza slova koja menjaš, onda će se ona slova koja nemaju svoj par u zamenskom nizu izbaciti iz teksta. Tako,

TRANSLATE('ACA','AB','12') daje 1C1 (slovo C je prepisano jer nije dato pravilo da se ono menja, dok
TRANSLATE('ACA','ABC','12') daje 11 (slovo A je zamenjeno sa 1, a C nema definisano pravilo zamene, a navedeno je u listi slova koja se menjaju).

REPLACE radi zamenu jednog stringa drugim stringom, na primer;

REPLACE('1ubica', '1', 'Lj') daje rezultat Ljubica
Pa sad, kombinacijom TRANSLATE i REPLACE napravi funkciju za konverziju.
 
Odgovor na temu

Kety

Član broj: 49094
Poruke: 53
212.200.132.*



+8 Profil

icon Re: Convert cir to lat14.09.2016. u 13:59 - pre 47 meseci
Razumela sam šta treba da uradim.
Hvala puno na savatu i veliki pozdrav.
 
Odgovor na temu

HCl
-

Član broj: 75304
Poruke: 13
87.116.189.*



+1 Profil

icon Re: Convert cir to lat11.11.2016. u 21:04 - pre 45 meseci
Predloženo rešnje je loše i pogrešno. Ako se tako neštp primeni neće raditi sortiranje a i mnoge druge funkcije neže biti optimizovane pretraga, CRUD operacije, indeksiranje.

Ako je instlaran ORACLE sa podrškom za sprski jezik ta funkcija mora da ima u njemu, kao i funkcije za sortiranje po oba pisma sinhrono (ćirilica i latinica). Javite se lokalnom predstavništu ORACLA i tražite da vam instaliraju podršku za Srpski jezik.
 
Odgovor na temu

[es] :: Oracle :: Convert cir to lat

[ Pregleda: 2014 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.