Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выборка определенного количества символов в SQL запросе


Константин_ ©   (2006-07-26 10:30:00) 

Как выбрать определенное количество символов в sql запросе начиная с конца поля, например "123456" > "3456"
С уважением.


Константин_   (2006-07-26 12:26:00) [1]

Можно было бы оставить... но прога уже в эксплуатации... недоглядел, теперь мучаюсь


ЮЮ   (2006-07-26 12:20:00) [2]

Ну и откуда эта 1 в базе?

следующее показание будет 0100, а у тебя уже предыдущее 10010. Опять перекрутка нужна? Или пририсовка?

Может лучше оставлять как есть 0010?
А при расчетах учитывать возможность "перекрутки"


Константин_   (2006-07-26 12:04:00) [3]

начальные показания 9985 последние показания 0010 в баз 10010


ЮЮ   (2006-07-26 12:01:00) [4]


> а у него есть такая особенность перекручиваться... очень
> не хорошая.


У него наверное всего 4 числа то и есть и для него естественно "перекручиваться", а вот откуда в базе появляются неестественные 5-е цифры?


Константин_   (2006-07-26 11:53:00) [5]

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


Константин_   (2006-07-26 11:52:00) [6]

Работа ведеться с водомерным счетчиком, а у него есть такая особенность перекручиваться... очень не хорошая.
Спасибо за помощь.


ЮЮ   (2006-07-26 11:50:00) [7]

З.Ы. Как будешь различать договора 12 3456и 21 3456после такого запроса?


ЮЮ   (2006-07-26 11:48:00) [8]

SELECT dogovor from pred.dbf where cast(dogovor as int) < 10000
         /* 1 - 4х значные*.
UNION ALL
SELECT Substring(dogovor from 2 for 4) FROM pred.dbf
 where cast(dogovor as int) BETWEEN 10000 AND 99999
    /* для 5-начных*/
UNION ALL
... и так далее

З.Ы. зачем такие важные последнии символа слис со столь маловажными первыми в одом поле? Раздели, пока не поздно


Константин_   (2006-07-26 11:47:00) [9]

выборка производиться из талицы DBase IV при помощи компонента Query


ЮЮ   (2006-07-26 11:35:00) [10]

БД какая?

В таком запросе получается выборка 3 символов с начала строки, а может его можно как то изменить?

С начал строки, естественно, проблем нет, коль есть Substring()


Desdechado   (2006-07-26 11:31:00) [11]

Видимо, намек указать СУБД не понят.


Константин_   (2006-07-26 11:03:00) [12]

select cast(dogovor as char(3)) from pred.dbf where cast(dogovor as int)>1000
В таком запросе получается выборка 3 символов с начала строки, а может его можно как то изменить?


ЮЮ   (2006-07-26 10:40:00) [13]

В MS SQL: RIGHT(<строка>, <количество>)
У других серверов, наверняка, что-то найдется подобное.
В стандарте, имхо, такого нет. Лишь SUBSTRING, т.е. подйдет, если количество симолов в значениях поля одинаковое и известное


Наверх

Титульная страница Поиск, карта сайта Написать письмо