Форум: "Начинающим";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];




Вниз

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


Константин_   (2006-07-26 10:30) [0]

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



ЮЮ ©   (2006-07-26 10:40) [1]

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



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

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



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

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



ЮЮ ©   (2006-07-26 11:35) [4]

БД какая?

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

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



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

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



ЮЮ ©   (2006-07-26 11:48) [6]

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:50) [7]

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



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

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



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

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



ЮЮ ©   (2006-07-26 12:01) [10]


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


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



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

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



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

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

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

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



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

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




Форум: "Начинающим";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.049 c
6-1143539218      Alkid                 2006-03-28 13:46  2006.08.13  
FastNet


2-1153920603      Crazy monkey          2006-07-26 17:30  2006.08.13  
Вопрос по Access


2-1153819926      ViNaSa                2006-07-25 13:32  2006.08.13  
Пакетирование в Delphi


2-1153720810      DimonS                2006-07-24 10:00  2006.08.13  
Вложенные запросы. Нужен совет.


6-1143393016      SamProf               2006-03-26 21:10  2006.08.13  
Как скачать файл по протоколу HTTPS: