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

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

SQL запрос [D7, Paradox]


Юля П ©   (2003-09-15 10:45:00) 

Как мне в SQL перевести строковую переменную в вещественную.
И можно ли сделать так в SQL, чтобы в DBGrid отображалась внизу сумма по какому-либо столбцу?


Arm79   (2003-09-15 15:23:00) [1]

Я работал с access. Там тоже были с запятой. Но когда я писал запятую, то access ее игнорировал. Зато "." работала отлично, и отображалась она как ",". Вышел из этого положения так:

procedure TForm2.BitBtn1Click(Sender: TObject);
var
Position:byte;
PriceStr:String;
PriceChar:String;
begin
Position:=Pos(",", LabeledEdit2.Text);
if Position=0 then exit;
PriceStr:=LabeledEdit2.Text;
PriceChar:=".";
Delete(PriceStr, Position, 1);
Insert(PriceChar, PriceStr, Position);
LabeledEdit2.Text:=PriceStr;
end;

В SQL не реализовывал.


Юля П   (2003-09-15 15:14:00) [2]

Но значения уже в базе с запятой


Arm79   (2003-09-15 13:58:00) [3]

Вместо "," нужно "."


Юля П   (2003-09-15 13:55:00) [4]

Вообще я хотела перевести строковое поле в вещественное и подсчитать сумму его значений. И чтобы это отобразилось в DBGrid. Если это возможно.


Юля П   (2003-09-15 13:26:00) [5]

Быдо строковое значение "123,45", а получилось 12345


Vovchik_A   (2003-09-15 13:14:00) [6]

Пусть тогда , наверное, код покажет и скажет чего хочет добиться


Vovchik_A   (2003-09-15 13:13:00) [7]

Vlad © (15.09.03 13:08) [7]
Нету ее в SQl.


Vlad   (2003-09-15 13:08:00) [8]

>Vovchik_A © (15.09.03 13:01) [6]
Где в SQL ты видел функцию StrToFloat ?

>Юля П (15.09.03 10:45)
Как мне в SQLперевести строковую переменную в вещественную.


Vovchik_A   (2003-09-15 13:01:00) [9]

StrToFloat(const S: string):Extended ?
Преобразует строку в действительное число.
А если значений в строке несколько, то строку надо сначла разобрать.
Или я чего-то не понял ?


Vlad   (2003-09-15 12:30:00) [10]

>числа с десятичными знаками, но не поставил запятые
Опять не понял, как это ? Если было строковое значение, напр. "123,45" то он должен преобразовать в 123,45
А в вашем случае что получилось ?


Юля П   (2003-09-15 12:23:00) [11]

Получилось преобразовать. Я поставила тип float он вывел числа с десятичными знаками, но не поставил запятые.
А если поставить тип real, он пишет "Capability not supported"
Что делать?


Vlad   (2003-09-15 11:59:00) [12]

>строковое поле, где много значений
Это как ? Преобразовать весь столбец в таблице чтоли ?
select cast(Field as Number) from Table, где Field - ваше строковое поле.
Вернет столбец, преобразованный к вещественному типу.


Юля П   (2003-09-15 11:51:00) [13]

А возможно перевести строковое поле, где много значений в вещественное?


Vlad   (2003-09-15 10:51:00) [14]

cast(строковая_переменная as Нужный_тип_данных)

А чтоб в гриде отображалась сумма, можно сделать так, например
select field1, field2 from table
union
select sum(field1), sum(field2) from table


Наверх

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