Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 298
от 09.11.2007, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 452, Экспертов: 60
В номере:Вопросов: 1, Ответов: 3


Вопрос № 107954: ACCESS2003;содержимое-оргХимия;наименования начинаются как с цифр, так и с букв;вопрос:как построитьORDER BY чтобы игнорировались цифры?...

Вопрос № 107.954
ACCESS2003;содержимое-оргХимия;наименования начинаются как с цифр, так и с букв;вопрос:как построитьORDER BY чтобы игнорировались цифры?
Отправлен: 04.11.2007, 10:43
Вопрос задал: третьяков сергей данилович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, третьяков сергей данилович!
В модуль Вашей БД поместите функцию (в приложении), в запросе допишите ORDER BY noStartNum([оргХимия]);
Удачи Вам.
Евгений.

Приложение:

Ответ отправил: Тесленко Евгений Алексеевич (статус: Студент)
Ответ отправлен: 04.11.2007, 20:00

Отвечает: Nomadfromx2007
Здравствуйте, Третьяков Сергей Данилович!
Скаже сразу же, я не знаю, как это лучше реализовать в Access, но вот как это можно реализовать в Oracle (может поможет):
Часть ответа перенесена в Приложение.
=Maxim V. Tchirkine=




-----
∙ Отредактировал: Maxim V. Tchirkine (Академик)
∙ Дата редактирования: 06.11.2007, 03:32

Приложение:

Ответ отправил: Nomadfromx2007 (статус: 1-ый класс)
Ответ отправлен: 06.11.2007, 02:36

Отвечает: HookEst
Здравствуйте, третьяков сергей данилович!
Если все ведущие цифры отличны от нуля, и чтобы использовать только встроенные функции можно, например попробовать использовать то, что функция Val() возвращает число представленное всеми ведущими цифрами идущими подряд, например для Val("123АБВ456") - вернет число 123, Val("АБВ456") вернет 0.
тогда
можно составить выражение:

...ORDER BY IIf(Val([значение]) <> 0, Mid([значение], 1 + Len(Val([значение]))), [значение])

где [значение] - наш столбец.

т.е. осуществляется проверка: если Val([значение]) отлично от нуля, тогда применяем функцию Mid()- отрезаем от [значение] первые символы интерпретируемые Val()(т.е. цифры), иначе если Val([значение])=0, используем просто [значение].

или в реальном запросе, у меня Таблица2 со столбцом dog:

SELECT Таблица2.*
FROM Таблица2
ORDER BY IIf(Val([dog])<>0,Mid([dog],1+Len(Val([dog]))),[dog]);

Правда не тестировал эту конструкцию на всех возможных данных, да и возможно можно еще что оптимизировать, но как вариант...
Успехов.
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 06.11.2007, 06:36


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.62.0 от 08.11.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное