![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запрос SQL [D6, dBase, FoxPro]
Rel_ © (2003-06-24 08:48:00)Всем привет. Помогите со сл. вопросом:
Необходимо в запросе вывести последние 2 знака поля таблицы и сделать сортировку по этому полю по возрастанию. Поле в строковом виде содержит число.
Например:
123445203
543453001
563453410
131231205
Рез-т запроса:
01
03
05
10
интересующийся (2003-06-24 11:58:00) [1]Anatoly Podgoretsky ©
> Остается надеяться на постоянную длину.
Чего? Поля?
Anatoly Podgoretsky (2003-06-24 11:48:00) [2]Остается надеяться на постоянную длину.
Sandman25 (2003-06-24 11:37:00) [3]Anatoly Podgoretsky © (24.06.03 11:25)
>А здесь что не будет ошибки, при длине скажем 1
Ошибка будет. Я исправил другую ошибку - первый вариант возвращал совсем не то, что надо.
>Соловьев © (24.06.03 11:32)
Жаль. Позор LocalSQL, кстати.
Соловьев (2003-06-24 11:32:00) [4]а с каких это пор lenght появилась в LocalSQL?
как по мне тут только в цикле или вычисляемое поле сделать у DataSet...
Anatoly Podgoretsky (2003-06-24 11:25:00) [5]А здесь что не будет ошибки, при длине скажем 1
Sandman25 (2003-06-24 11:14:00) [6]Ошибся
select substr(fld, length(fld)- 1, 2) from tbl
Sandman25 (2003-06-24 11:12:00) [7]select substr(fld, length(fld)-2, 2) from tbl
Только если в fld будет меньше 2 символов, будет ошибка
kostya_iz_angren (2003-06-24 10:50:00) [8]А можно дополнительный вопрос:
- А если не известна длина строки, то как получить те же последние два символа.
Или иначе говоря, есть функция для определения длины строки.
ЮЮ (2003-06-24 09:17:00) [9]Ну ещё бы :-)
Rel_ (2003-06-24 09:14:00) [10]Ну спасибо. Усё получилось
ЮЮ (2003-06-24 09:00:00) [11]SELECT SUBSTRING(FLD FROM 8 FOR 2) FROM TBL ORDER BY 1