Прописные или строчные буквы для всех турецких символов в DB2

Я пытаюсь получить верхний или нижний из всех турецких символов.

в DB2 есть функция TRANSLATE но она не хочет ее использовать как

TRANSLATE(:SITE 'I','i')
TRANSLATE(:SITE 'O','ö')
TRANSLATE(:SITE 'U','ü')

Я не хочу сохранять турецкие символы, я хотел бы преобразовать все турецкие символы с помощью одной и той же функции.

Например, я пытаюсь преобразовать «i» в «I», «ö» в «O» и «ü» в «U».

Как мне это сделать?


person Anil Kocabiyik    schedule 20.01.2014    source источник


Ответы (1)


Есть LCASE и UCASE:

db2 => values(ucase('a b c ç d e f g ğ h ı i j k l m n o ö p r s ş t u ü v y z', 
       'tr_TR'))

1
---------------------------------------------------------------
A B C Ç D E F G Ğ H I İ J K L M N O Ö P R S Ş T U Ü V Y Z

  1 record(s) selected.
person Leo    schedule 20.01.2014
comment
Привет Леонс, ваше решение превращает «i» в «İ», но мне нужно «i» в «I», «ö» в «O» и «ü» в «U» - person Anil Kocabiyik; 21.01.2014
comment
Ах. Вы должны иметь возможность использовать TRANSLATE для этого, но я столкнулся с некоторыми проблемами с шириной символов. Кто-то предложил здесь альтернативу хранимой процедуре на основе Xquery: -sql0176n.html#post6600632 - person Leo; 21.01.2014