Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

Выборка определенного количества символов в 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]

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



Страницы: 1 вся ветка

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
2-1153713313
PSPF2003
2006-07-24 07:55
2006.08.13
DragDrop


15-1151308474
Анонимщики
2006-06-26 11:54
2006.08.13
Летний чемпионат сайта по шахматам


2-1153772633
__Dmitry__
2006-07-25 00:23
2006.08.13
BDS2006 компоненты


3-1149842955
ANB
2006-06-09 12:49
2006.08.13
Как сделать одним оператором (oracle) ?


11-1131084045
Vladimir Kladov
2005-11-04 09:00
2006.08.13
Версия 2.20