Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / сравнение 2 данных (тип VarChar) / 12 сообщений из 12, страница 1 из 1
20.12.2005, 08:26
    #33445528
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
Недавно столкнулся с таким вопросом - надо было сравнить 2 таблицы по полю varchar.
делаю ... where t1.naim=t2.naim ...
А в таблицах в этих полях 2 значения '6А' и '6Б'.
Он посчитал ОДИНАКОВЫМИ !!!
Вышел из положения так ... where md5(t1.naim)=md5(t2.naim) ...
Но может есть более нормальный способ ?
Сразу говорю ... where t1.naim==t2.naim ... плюется ошибкой - данное сравнение для этого типа не подходит
...
Рейтинг: 0 / 0
20.12.2005, 10:30
    #33445805
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
PerederiyНедавно столкнулся с таким вопросом - надо было сравнить 2 таблицы по полю varchar.
делаю ... where t1.naim=t2.naim ...
А в таблицах в этих полях 2 значения '6А' и '6Б'.
Он посчитал ОДИНАКОВЫМИ !!!
Вышел из положения так ... where md5(t1.naim)=md5(t2.naim) ...
Но может есть более нормальный способ ?
Сразу говорю ... where t1.naim==t2.naim ... плюется ошибкой - данное сравнение для этого типа не подходит
Афигеть! Как Вам это удалось? Скрыпт, локаль и версию СУБД в студию!
PS Проверил на 8.1 - атлычно работает.
...
Рейтинг: 0 / 0
20.12.2005, 11:31
    #33446007
-me-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
А шо это Вас так удивляет? :)
бывает такое (и хуже): http://archives.postgresql.org/pgsql-general/2005-12/msg00740.php
...
Рейтинг: 0 / 0
20.12.2005, 15:04
    #33446881
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
-me-А шо это Вас так удивляет? :)
бывает такое (и хуже): http://archives.postgresql.org/pgsql-general/2005-12/msg00740.php
Мда. Кодировки - весчщь неблагодарная и не всегда работающая :(. Особенно нетрадиционные.
...
Рейтинг: 0 / 0
20.12.2005, 15:44
    #33447014
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
Версия 8.0.1
база в UNICODE (те UTF-8)
локаль линукса KOI8-R
Что здесь нетрадиционного ?
...
Рейтинг: 0 / 0
20.12.2005, 16:54
    #33447250
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
PerederiyВерсия 8.0.1
база в UNICODE (те UTF-8)
локаль линукса KOI8-R
Что здесь нетрадиционного ?
В качестве измений в версии 8.1 было то, что в старой реализации юникода можно было вставить символы вообще говоря не попадающие в зону видимости. Можеть быть где-то рядом и есть Ваши грабли?
Попробуйте перекинуть базу в 8.1. Или в другую локаль 8.0 (например в 8.0.5). Может поможет :-\
...
Рейтинг: 0 / 0
20.12.2005, 17:14
    #33447313
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
какие это грабли - ведь все работает !
...
Рейтинг: 0 / 0
20.12.2005, 17:43
    #33447417
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
Perederiyкакие это грабли - ведь все работает !
Если все работает тогда в чем вопрос?
...
Рейтинг: 0 / 0
21.12.2005, 08:15
    #33448105
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
вопрос - можно ли сравнивать 2 varchar не через md5 ?
...
Рейтинг: 0 / 0
21.12.2005, 10:22
    #33448364
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
Perederiyвопрос - можно ли сравнивать 2 varchar не через md5 ?
Ответ - да, можно.
...
Рейтинг: 0 / 0
21.12.2005, 11:40
    #33448693
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
как ?
через простое = не проходит
см начало
...
Рейтинг: 0 / 0
21.12.2005, 12:51
    #33449008
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение 2 данных (тип VarChar)
Perederiyкак ?
через простое = не проходит
см начало
Через простое = может не проходить в связи с кучей факторов, из которых почти все - ошибки.
Есть предложение сделать тестовый пример/или дамп боевого и проверить его на разных версиях СУБД. В 8.0 БЫЛИ проблемы (ошибки) с юникодом. Это факт.
Поэтому и хочется скрыпт - там можно будет увидеть совпадают ли данные реально, или это бутафория. Кстати имеет смысл обновить версию сервера до 8.0.5. Это по крайней мере не помешает.
Я проверил для версии 8.1 на локали WIn1251 под виндой - все работает.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / сравнение 2 данных (тип VarChar) / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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