powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Unicode и строковые функции
7 сообщений из 7, страница 1 из 1
Unicode и строковые функции
    #33287236
ak@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ak@
Гость
Всем привет,
кто-нибудь знает, когда исправится положение со строковыми функциями? У меня возникли проблемы с умляутами, в частности при использовании LEFT из-за преобразования из Юникода в ASCII (цитата из SQL Reference Volume 1):

In a Unicode database, if a supplied argument is a graphic string, it is first converted to a character string before the function is executed. For a VARCHAR, the maximum length is 4 000 bytes and for a CLOB or a binary string, the maximum length is 1 048 576 bytes.
...
Рейтинг: 0 / 0
Unicode и строковые функции
    #33287303
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что за проблема? Ведь, как я понимаю, эта цитата просто не имеет отношения к делу. Graphic string - это двухбайтовые азиатские кодировки (корейская, две китайских, японская...), а character string вовсе не ASCI, а UNICODE, если база UNICODE. Откуда же у вас умляуты в азиатской кодировке?
...
Рейтинг: 0 / 0
Unicode и строковые функции
    #33287307
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правда, "When a Unicode database is created, CHAR, VARCHAR, LONG VARCHAR, and CLOB data are stored in UTF-8 form, and GRAPHIC, VARGRAPHIC, LONG VARGRAPHIC, and DBCLOB data are stored in UCS-2 big-endian form", что, учитывая цитату выше, совершенно сбивает с толку. Быть может, её следует понимать, что данные конвертирутся из UTF-16 в UTF-8. Но UTF-8 всё-таки не ASCII и информация потеряться не может, проблем с умляутами быть не должно.
...
Рейтинг: 0 / 0
Unicode и строковые функции
    #33287365
ak@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ak@
Гость
Картинка (слева) для
SELECT * FROM groups
справа
SELECT LEFT(groupname, 1) FROM groups
...
Рейтинг: 0 / 0
Unicode и строковые функции
    #33287366
ak@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ak@
Гость
Извиняюсь, чтобы быть точным второй запрос такой:

Код: plaintext
select distinct left(groupname,  1 ) from groups order by left(groupname,  1 )
...
Рейтинг: 0 / 0
Unicode и строковые функции
    #33289632
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сочуствую.

а
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select distinct cast(groupname as varchar( 1000 )) 
from groups 
order by  1 

select distinct cast(groupname as char( 1000 )) 
from groups 
order by  1 

select distinct cast(groupname as varchar( 2 )) 
from groups 
order by  1 

select distinct cast(groupname as char( 2 )) 
from groups 
order by  1 


и особенно
Код: plaintext
1.
2.
3.
select distinct left(cast(groupname as varchar( 2 )), 1 )
from groups 
order by  1 
что выйдет?
...
Рейтинг: 0 / 0
Unicode и строковые функции
    #33289665
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё вариант (возможно, лучший):

Код: plaintext
1.
2.
3.
select distinct substr(substr(groupname, 1 , 2 ), 1 , 1 )
from groups 
order by  1 

(И проклятье кодировке UTF-8).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Unicode и строковые функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]