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

Вниз

Подскажите конструкцию SQL   Найти похожие ветки 

 
ocean ©   (2007-10-19 13:58) [0]

Моя программа должна выбрать записи из таблицы dBase4, я использую BDE:
Query1.Text := "select * from mytable where myfield<"100"";
Поле MyField описано как символьное длиной 8, но принимает только целые значения. Понятно, что приведенный выше запрос не сработает, поскольку сравнивает не числа, а строки. Конечно, я могу выбрать все, а потом обработать полученные строки в программе. А нет ли более изящного решения в SQL?


 
Правильный_Вася   (2007-10-19 14:03) [1]


> приведенный выше запрос не сработает

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

Trim, CAST
?


 
megabyte ©   (2007-10-19 14:42) [2]

Если в поле только цифры, то через Cast


 
ocean ©   (2007-10-19 18:47) [3]

Trim не помог:
> Query1.Text := "select * from mytable where trim(myfield)<"100"";
Например, запись со значением 15 не выбирается.
Cast, насколько я помню, есть в Oracle, но вряд ли есть в BDE.


 
fishka   (2007-10-19 19:00) [4]

Query1.Text := "select * from mytable where cast(myfield as Integer)<100";

Это расшифровка ответов 1 и 2.


 
Правильный_Вася   (2007-10-19 19:07) [5]


> Cast, насколько я помню, есть в Oracle, но вряд ли есть в BDE.

везде есть, это стандартом определено



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
15-1201875396
Riply
2008-02-01 17:16
2008.03.09
Экономия памяти при работе.


15-1202060677
Kostafey
2008-02-03 20:44
2008.03.09
С днем рождения ! 3 февраля


2-1202844363
kami
2008-02-12 22:26
2008.03.09
Привязать UDPClient к сетевому интерфейсу


15-1201851717
homm
2008-02-01 10:41
2008.03.09
Осторожней, Москвичи!


2-1202659042
Strate
2008-02-10 18:57
2008.03.09
Скрыть вкладки в TPageControl