Интересная особенность Оракла

Boris1980

Сравните выполнение этих двух запросов:

Select length('Ъ')
From Dual


Select length('ъ')
From Dual

skvoria

Блин, оракла нет под рукой.
Разная? насколько?

Boris1980

В первом случае длина - 1 (как и положено
а во втором - пустое значение.
Он вообще, если длину строки определять, пропускает этот символ.

artimon

„Ъ“ в koi8-r имеет код 0xFF. Может из-за этого проблемы?

Boris1980

Может из-за этого.
Не знаю.

skvoria

Уууу блин. Это тогда не с ораклом проблемы. Это похоже на локаль.
У меня аналогичная ситуация была на постгресе в кодировке win1251 с буквой "я" на openBSD
(там LC_CTYPE хрен подцепишь)

KViH

в обоих случаях результат - 1

Boris1980

Написал админам письмо.
Посмотрим что скажут.
ps: К Ораклу я через TOAD подключаюсь.

yolki

Подтверждаю,
В четырёх случаях (ЪъЯя) рузльтат один: 1

skvoria

Указывайте систему, господа.
Я ж говорю, это не Оракловая бага.

maksimys19

Oracle 9.1 for Windows
через SQL*Plus:
select LENGTH('ъ'LENGTH('Ъ') from tmp where rownum<2;
1 1

yolki

Win2003Server,Oracle 9.2

skvoria

Вот ща еще товарисч Робинзон ответит, и мы неожиданно узнаем, что у него какой-нибудь клон BSD

Boris1980

Да нет, Винда - ХР, Оракл - 8.

stm5643616

У меня Windows2000, Oracle 9i.
в TOAD:

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

>Select length('ъ' length('Ъ') From Dual
1 1

voronetskaya

hpux, oracle 8, plsqldev
в обоих случаях результат едениццо

GalinaG

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