|
Teradata - Instr проблема с кирилицей
|
|||
---|---|---|---|
#18+
Господа, нужно выдергивать из строки 5 фраз, который начинаются со слова-ключа и заканчиваются спецсимволом ';' В Teradata для этого есть функция instr, но при парсинге кириллицы, запрос падает с ошибкой. Как быть? И, возможно, есть более красивый способ парсинга? Пример select instr('деп: sdasda;na','деп',1) Ошибка: Error: [Teradata Database] [TeraJDBC 13.10.00.01] [Error 6706] [SQLState HY000] The string contains an untranslatable character. SQLState: HY000 ErrorCode: 6706 П.С. Рабочий запрос with s as ( select 'zap: sdasda;nap:sda;op:sdasd;zap:adsasda;otv:asder;ty' CommentString, 'zap' zap, 'dep' dep, 'op' op, 'nap' nap, 'otv' otv ) select CommentString, substr(CommentString,instr(CommentString,zap,1),instr(CommentString,';',instr(CommentString,zap))-instr(CommentString,zap,1)) zap, substr(CommentString,instr(CommentString,dep,1),instr(CommentString,';',instr(CommentString,dep))-instr(CommentString,dep,1)) dep, substr(CommentString,instr(CommentString,op,1),instr(CommentString,';',instr(CommentString,op))-instr(CommentString,op,1)) op, substr(CommentString,instr(CommentString,nap,1),instr(CommentString,';',instr(CommentString,nap))-instr(CommentString,nap,1)) nap, substr(CommentString,instr(CommentString,otv,1),instr(CommentString,';',instr(CommentString,otv))-instr(CommentString,otv,1)) otv from s ; ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 09:34 |
|
Teradata - Instr проблема с кирилицей
|
|||
---|---|---|---|
#18+
С insert какая то бага... Решил задачу с регулярными выражениями, может пригодиться. with s as ( select 'Заказчик: Иванов.И.И;Исполнитель: Сидоров В.В.;Описание: бла-бла' CommentString ) select cast(regexp_substr(CommentString,'((Заказчик:)+.*?)+(;|\Z)') as varchar(100)) zak, cast(regexp_substr(CommentString,'((Исполнитель:)+.*?)+(;|\Z)') as varchar(200)) dep, cast(regexp_substr(CommentString,'((Описание:)+.*?)+(;|\Z)') as varchar(1000)) op from s ; ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2015, 11:43 |
|
|
start [/forum/moderation_log.php?user_name=%D0%91%D0%B5%D0%B7%D0%B5%D0%BD%D1%87%D1%83%D0%BA]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 710ms |
total: | 888ms |
0 / 0 |