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

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

запрос [D5, IB или FB]


GanibalLector ©   (2004-07-19 11:33:00) 

Предположим,имеется следующая структура таблицы:
Id-int
Pl-varchar(8)
И в ней,напимер,такие данные:
1 АБ000001
2 АБ000002
3 АБ000003
4 ББ000200
5 ББ000201

Так вот,необходимо выбрать пломбы заданной серии и без показа самой серий.
Т.е. так (предположим вырираем серию "ББ") :
1 000200
2 000201

Что посоветуете ???


GanibalLector   (2004-07-19 12:01:00) [1]

2 Johnmen
Спасибо...помогло.
select SUBSTRING(Pl FROM 3 FOR 6) from trach where pl like 'AA%'


Sandman25   (2004-07-19 11:51:00) [2]

Я бы обрабатывал TField.OnGetText
Delete(Text,1, 2)


Digitman   (2004-07-19 11:49:00) [3]

если структуру базы изменить не представляется возможным, таблица небольшая по размеру и/или нет особых ограничений по траффику, то проще всего сделать так :

1. выбираем записи, начинающиеся с 'ББ' в поле Pl

select * from MyTable where Pl like 'ББ'

// Id -> MyDataSet.Fields[0]
// Pl -> MyDataSet.Fields[1], Visible = false

2. на кл.стороне организуем доп.вычисляемое поле Fields[2], далее в обработчике OnCalcFields объекта TDataSet, управляющего результирующим НД, пишем

 with MyDataSet do
 Fields[2].Value := Copy(Fields[1], 3, 6); //показываем только правые 6 символов


Курдль   (2004-07-19 11:48:00) [4]

Млин, а поделить поле PI на 2 - "серия" и "номер"?


GanibalLector   (2004-07-19 11:41:00) [5]

может есть какие нибудь UDF?


Johnmen   (2004-07-19 11:40:00) [6]

+ SUBSTRING(Pl FROM 3 FOR 6)


GanibalLector   (2004-07-19 11:39:00) [7]

2 Соловьев
like это понятно,а как убрать первые два символа???


Соловьев   (2004-07-19 11:37:00) [8]

like


stud   (2004-07-19 11:37:00) [9]

ну можно разбить номер на серию и сам номер. либо использовать starting в запросе. и поле не varcahr а char


Наверх

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