სტრინგის ტრანსლირება ორაკლში
მაგალითი თუ როგორ არის შესაძლებელი ორაკლში შრიფტის კონვერტირება (ჩვენს მაგალითში ლათინურიდან უნიკოდში) ვარიანტი 1 –
ამის შესაძლებლობის 2 ვარიანტია 1- სადისტურ-მაზოხისტური, 2 – ორაკლისეული ადამიანური 😀
სადისტურ-მაზოხისტურში ვიგულისხმე ვარიანტი სადაც 2 სვეტიან ცხრილში გვაქვს ჩამოთვლილი ლათინური სიმბოლოები შესაბამისი ქართული უნიკოდით. ფუნქციაში ვიღებთ ამ ცხრილს და დასაკონვერტირებელ სტრინგს, ვუვლით სიმბოლ სიმბოლ და ვანაცვლებთ ცხრილში არსებულით და ვაწყობთ ახალ სტრინგს და ვგულაობთ ( 😀 ) მაგრამ ეს რა დოზანაა 🙂 გაიფიქრა მეორემ ეგ ხო უფრო მარტივად შეიძლებაო ანუ translate ფუნქციის გამოყენებით. მაგალითი –
1 2 | SELECT translate('aleqsandre', 'abgdevzTiklmnopJrstufqRySCcZwWxjh','აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰ') FROM dual; --result: ალექსანდრე |
მოკლედ ეს ყველაფერი შეგვიძლია გავუშვათ ფუნქციაში და მერე მართლა “გულიაი ბანდა” 😀
1 2 3 4 5 6 | CREATE OR REPLACE FUNCTION LAT2UTF(TEXT VARCHAR2) RETURN VARCHAR2 IS BEGIN RETURN TRANSLATE(TEXT, 'abgdevzTiklmnopJrstufqRySCcZwWxjh', 'აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰ'); END; |
და საჭიროების შემთხვევაში მას ვიყენებთ ასე
1 2 | SELECT lat2utf('blogi') FROM dual; --result: ბლოგი |
იმ შემთხვევაში თუ სიმბოლოს თარგმანი არ გვაქვს
1 2 | SELECT lat2utf('blogi205') FROM dual --result: ბლოგი205 |
ეს არის და ეს. წარმატებულ ტრანსლირებას გისურვებთ.
March 7th, 2009 at 11:17 am
SELECT trans(‘blogi205’) FROM dual მაგივრად
SELECT lat2utf(‘blogi205’) FROM dual
March 7th, 2009 at 12:52 pm
@კახა
მადლობ წერისას გაპარული ტექნიკური ხარვეზის გასწორებისთვის 🙂
March 7th, 2009 at 3:58 pm
🙂 არაფრის.
ვცდილობ დავიცვა შენი ბლოგის მომხმარებლები ეგეთი ხარვეზებისგან 😀
p.s. RSS-ებში დავიმატე დღეს შენი ბლოგი.
March 7th, 2009 at 6:30 pm
@კახა
გაიხარე, კაი კაცი ხარ 🙂
P.S. RSS-იც კარგია 🙂 , მეგონა აქამდე გქონდა 🙂