|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
Не понимаю почему В запросе Код: plsql 1. 2. 3. 4. 5.
получаю 'Ар' в место 'Архив' ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 17:39 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
PSD, я б начал с select dump('Архив') da from dual +кодировки ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 17:59 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
Stax PSD, я б начал с select dump('Архив') da from dual +кодировки ..... stax А я бы начал с выполнения запроса с помощью стандартной утилиты SQL*Plus. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 18:23 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
PSD, В тексте пишете запрос один, а на вашей картинке запрос совсем другой. Пытаетесь так запутать всех, так же, как уже запутали себя? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 18:25 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
Stax PSD, я б начал с select dump('Архив') da from dual +кодировки ..... stax Результат : Typ=96 Len=10: 208,144,209,128,209,133,208,184,208,178 Если прячу запрос в View Код: sql 1. 2. 3. 4. 5. 6.
то Код: sql 1.
Возвращает все правильно. Несколько раз сталкивался с это багой, в итоге "обезьяним" методом как то справлялся, но как у меня это получилось так и не понял. Сейчас опять столкнулся жить не мешает, но хотелось бы понять откуда ноги растут. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 18:30 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
Typ=96 Len=10: 208,144,209,128,209,133,208,184,208,178 5 символов в кодировке базы данных. Судя по всему кодировка двухбайтная. Покажите, как это не работает и работает в SQL*Plus. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 18:41 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
SQL*Plus PSD, В тексте пишете запрос один, а на вашей картинке запрос совсем другой. Пытаетесь так запутать всех, так же, как уже запутали себя? Там запрос километровый.... Чтоб вас не смущать: Я предполагаю что какая то беда видимо с неявным преобразованием типов. Кстати спасибо за еще одни интересный факт , я не обратил на это внимание , сам запрос и вьеха с ним константу обрезает а вот если 2 запроса или 2 вьюхи объединить через UNION all все начинает работать нормально. Теперь понимаю каким образом устранилась ошибка в прошлые разы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 18:42 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
PSD SQL*Plus PSD, В тексте пишете запрос один, а на вашей картинке запрос совсем другой. Пытаетесь так запутать всех, так же, как уже запутали себя? Там запрос километровый.... Чтоб вас не смущать: Я предполагаю что какая то беда видимо с неявным преобразованием типов. Кстати спасибо за еще одни интересный факт , я не обратил на это внимание , сам запрос и вьеха с ним константу обрезает а вот если 2 запроса или 2 вьюхи объединить через UNION all все начинает работать нормально. Теперь понимаю каким образом устранилась ошибка в прошлые разы. img= http://ар1.jpg Вы думаете, что такую картинку кто-то, кроме вас, сможет увидеть? Покажите, как это не работает и работает в SQL*Plus. Или ничего тут не пишите, а просто продолжайте внутри себя беседу самого-1 с собой-2 раз уж вас там внутри несколько. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 18:49 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
PSD, Что за клиент вы используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 19:54 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
PSD Результат : Typ=96 Len=10: 208,144,209,128,209,133,208,184,208,178 Если прячу запрос в View 5 символов - 10 байт возможно интерфейс вместо 10байт, берет 5 попробовать явно привести к типу select cast('Архів' as varchar2(xx)) ... ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2021, 09:23 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
PSD, Как уже сказали - проверьте в sqlplus. Судя по вашим комиксам и описанию, ваш клиент не понимает разницу между 5 char и 5 byte. Union all скорее всего приводит к неявному преобразованию в однобайтную кодировку, поэтому даёт "исправление". ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2021, 10:11 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
env Union all скорее всего приводит к неявному преобразованию в однобайтную кодировку ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2021, 10:29 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
andrey_anonymous env Union all скорее всего приводит к неявному преобразованию в однобайтную кодировку А у меня тема вызвала диаметральное вашему впечатление. - всё те же грабли старые полез искать по теме ссылки, но быстро не нашел.. и плюнул.. ,но (типа) оно таки было замечено и раньше и (насколько помню) эффект пропадал при замене union на union all ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2021, 11:42 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
orawish andrey_anonymous пропущено... Это что-то новое. А у меня тема вызвала диаметральное вашему впечатление. - всё те же грабли старые Грабли, может, и старые, но union никогда не занимался преобразованием кодировок (кроме случая, когда соединяет в один набор типы *char* и N*char* - тогда приводит, конечно, к типу итогового dataset, выведенному из самой первой части запроса ( TO_SINGLE_BYTE , TO_MULTI_BYTE ). И да, выведенный из первого запроса тип может не уместить данные из последующих частей - в этой ситуации помогает явная декларация желаемого типа в первом запросе посредством cast: Код: plsql 1. 2. 3. 4.
А вот преобразованием кодировок традиционно занимается клиент. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2021, 11:55 |
|
Текстовые константы в Oracle
|
|||
---|---|---|---|
#18+
И вообще не очень понятно, что во что можно преобразовывать. Если varchar2, так он в любом случае должен быть varchar2 в кодировке базы. возможно интерфейс вместо 10байт, берет 5 У меня такое же первое впечатление было. На похожий эффект нарывался в Oracle Reports на коротких полях (UOM в OeBS) Но автор что-то темнит и, как уже было сказано, вводить в заблуждение и себя и форум. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2021, 13:32 |
|
|
start [/forum/topic.php?fid=52&fpage=13&tid=1879935]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 228ms |
total: | 374ms |
0 / 0 |