Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Просмотр всех символов последовательно в базе / 21 сообщений из 21, страница 1 из 1
24.02.2005, 13:45
    #32931158
artXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
Здравствуйте! у меня такой вопрос:нужно создать запрос, который находит в таблице строки, где есть и английские и русские символы одновременно.
Я работаю с sql 3 недели и потерялся в этой задаче(((((. Заранее благодарен

версия БД
Sybase ASE/12.5.1

С уважением, Артём.
...
Рейтинг: 0 / 0
24.02.2005, 15:36
    #32931530
Просмотр всех символов последовательно в базе
Типа че-нибудь того:

select * from t where s like '%[йцукенгшщзхъфывапролджэячсмитьбю]%'
and s like '%[qwertyuiopasdfghjklzxcvbnm]%'

буковки проверь - может не все вбил :-)
...
Рейтинг: 0 / 0
24.02.2005, 15:52
    #32931596
gar
gar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
интервалы в like

[a-z]
[а-я]
...
Рейтинг: 0 / 0
24.02.2005, 16:01
    #32931627
artXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
Спасибо!!!!Просто офигенно как Вы это реализовали с помощью like '%[..]%'
И красиво и коротко, а я то мучился с циклами пробовав просмотреть каждую строку посимвольно.

Очень признателен.
...
Рейтинг: 0 / 0
24.02.2005, 16:10
    #32931666
Просмотр всех символов последовательно в базе
Код: plaintext
1.
2.
select * from t where s like '%[а-я]%'
and s like '%[a-z]%'

2gar

лично у меня не прет :-(
Выдает нуль записей

ASE 12.5.3


2artXXX еще учитывайте буковки с другим кейсом, что я упустил в своем ответе!!!!!!
...
Рейтинг: 0 / 0
24.02.2005, 16:10
    #32931668
artXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
а за второй ответ тоже спасибо
from #tmp1
where name like '%[а-я]%'
and name like '%[a-z]%'

работает быстрее чем с перечислением
...
Рейтинг: 0 / 0
24.02.2005, 16:34
    #32931748
Просмотр всех символов последовательно в базе
синтаксис
[a-z]
[а-я]
зависит от кодировки (!?)
...
Рейтинг: 0 / 0
24.02.2005, 17:27
    #32931922
gar
gar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
ну у меня ASE 12.0 не думаю что like для 12.5 изменится круто

select @@language

выдает
us_english
...
Рейтинг: 0 / 0
24.02.2005, 17:33
    #32931944
Просмотр всех символов последовательно в базе
не, на версию ASE я тоже не склонен пенять, а вот на кодировку - вполне.
У нас koi8, там ведь по-другому коды следуют.
А от этого наверное зависят диапазоны.
...
Рейтинг: 0 / 0
24.02.2005, 17:33
    #32931945
gar
gar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
>еще учитывайте буковки с другим кейсом, что я упустил в своем ответе!!!!!!

у меня выдает все, хоть так пиши
select * from #t where a like '%[A-Z]%' and a like '%[А-Я]%'

в локале у меня cp850 прописано
...
Рейтинг: 0 / 0
24.02.2005, 17:45
    #32931981
gar
gar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
да наверно, у меня сервер работает на виндовс
...
Рейтинг: 0 / 0
24.02.2005, 17:50
    #32931990
Просмотр всех символов последовательно в базе
Теперь уже и мне интересно!

:-)

select * from t where s like '%[а-я]%'
НЕ работает

select * from t where s like '%[б-я]%'
работает!

букву а оно не любит????


select ascii('а') = 224
select ascii('б') = 225
select ascii('я') = 255


Загадка природы, однака :-)
...
Рейтинг: 0 / 0
24.02.2005, 18:49
    #32932113
gar
gar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
а почему у "б" и "я" одинаковый код?
...
Рейтинг: 0 / 0
24.02.2005, 18:52
    #32932118
gar
gar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
тьфу, блин, глаз замылилися к концу раб дня :((
...
Рейтинг: 0 / 0
25.02.2005, 07:05
    #32932426
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
Интересно, это поведение LIKE входит в стандарт SQL? Проверил в ASE 12.5 и ASA 8 - работает, а в Oracle 9.2 - нет.
...
Рейтинг: 0 / 0
25.02.2005, 10:23
    #32932687
Просмотр всех символов последовательно в базе
Andyn по-моему диапазоны не входят в стандарт
ето imho конечно
...
Рейтинг: 0 / 0
25.02.2005, 12:42
    #32933235
Просмотр всех символов последовательно в базе
d Оракуле это SIMILAR должен поддерживать
...
Рейтинг: 0 / 0
25.02.2005, 18:24
    #32934402
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
AndynИнтересно, это поведение LIKE входит в стандарт SQL? Проверил в ASE 12.5 и ASA 8 - работает, а в Oracle 9.2 - нет.
В SQL92 диапазонов точно нету. Там описаны только два спец-символа для LIKE: '%' как ноль или любое количество любых символов и '_' как один любой символ.
Более поздних стандартов под рукой нет, проверить не могу.
...
Рейтинг: 0 / 0
25.02.2005, 19:16
    #32934494
Просмотр всех символов последовательно в базе
Да, достаточно взглянуть на таблицу

http://www.terena.nl/library/multiling/koi8-u/koi8-sw/koi8-u_test.html


чтобы стало ясно, что записи диапазонов через - черточку, увы - это непереносимое и опасное решение!

Ибо они ориентируются на коды символов и в случае like '%[а-я]%'
попадает всего лишь 17 букв русского алфАвита :-)
...
Рейтинг: 0 / 0
25.02.2005, 19:46
    #32934531
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр всех символов последовательно в базе
Трава у домаИбо они ориентируются на коды символов и в случае like '%[а-я]%' попадает всего лишь 17 букв русского алфАвита :-)
Ну это ты гонишь :)
вот как раз для того, чтобы в диапазон [а-я] попали все буквы и существует задание charset'а при создании базы.
...
Рейтинг: 0 / 0
26.02.2005, 00:45
    #32934676
Просмотр всех символов последовательно в базе
а я где-то читал, что - черточка
обозначает диапазон по возрастанию кодов. Или это только для ASCII?

Вообще-то я щас посмотрел и у меня еще более тяжелый случай - база
KOI8, а в пример для теста я вбил из виндового клиента (1251),
поэтому наверное и получился косяк такой. ASE наверное аж передернуло :-)
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Просмотр всех символов последовательно в базе / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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