Интересная особенность Оракла
Блин, оракла нет под рукой.
Разная? насколько?
Разная? насколько?
В первом случае длина - 1 (как и положено
а во втором - пустое значение.
Он вообще, если длину строки определять, пропускает этот символ.
а во втором - пустое значение.
Он вообще, если длину строки определять, пропускает этот символ.
„Ъ“ в koi8-r имеет код 0xFF. Может из-за этого проблемы?
Может из-за этого.
Не знаю.
Не знаю.
Уууу блин. Это тогда не с ораклом проблемы. Это похоже на локаль.
У меня аналогичная ситуация была на постгресе в кодировке win1251 с буквой "я" на openBSD
(там LC_CTYPE хрен подцепишь)
У меня аналогичная ситуация была на постгресе в кодировке win1251 с буквой "я" на openBSD
(там LC_CTYPE хрен подцепишь)
в обоих случаях результат - 1
Написал админам письмо.
Посмотрим что скажут.
ps: К Ораклу я через TOAD подключаюсь.
Посмотрим что скажут.
ps: К Ораклу я через TOAD подключаюсь.
Подтверждаю,
В четырёх случаях (ЪъЯя) рузльтат один: 1
В четырёх случаях (ЪъЯя) рузльтат один: 1
Указывайте систему, господа.
Я ж говорю, это не Оракловая бага.
Я ж говорю, это не Оракловая бага.
Oracle 9.1 for Windows
через SQL*Plus:
select LENGTH('ъ'LENGTH('Ъ') from tmp where rownum<2;
1 1
через SQL*Plus:
select LENGTH('ъ'LENGTH('Ъ') from tmp where rownum<2;
1 1
Win2003Server,Oracle 9.2
Вот ща еще товарисч Робинзон ответит, и мы неожиданно узнаем, что у него какой-нибудь клон BSD 

Да нет, Винда - ХР, Оракл - 8.
У меня Windows2000, Oracle 9i.
в TOAD:

в TOAD:
в SQL Navigator:
>Select length('ъ' length('Ъ') From Dual
NULL 1
>Select length('ъ' length('Ъ') From Dual
1 1

hpux, oracle 8, plsqldev
в обоих случаях результат едениццо
в обоих случаях результат едениццо
Блин, это известный прикол с тем, что зарубежные проги считают 0xff и иногда 0xfe неправильными символами.
В свое время в Borland Resource Workshop приходилось вместо "ю" и "я" писать '\376' и '\377'.
В свое время в Borland Resource Workshop приходилось вместо "ю" и "я" писать '\376' и '\377'.
Оставить комментарий
Boris1980
Сравните выполнение этих двух запросов: