powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SUM()=Text - как победить?
11 сообщений из 11, страница 1 из 1
SUM()=Text - как победить?
    #38838143
Dmitry Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если сделать запрос:
Код: sql
1.
Select SUM()...


То поле SUM() воспринимается как строка. Как победить, что бы она воспринималась как число?
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838182
Dmitry Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, любое "вычисляемое поле" воспринимается в итоге как строка, т.е. 1+1, то результат 2 будет строка а не число. Как победить?
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838190
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Y,

Код: sql
1.
2.
create table test_table as
       select cast(1+1 as numeric) as number

?
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838199
Dmitry Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLAD,

Т.е. вы предлагаете делать запрос, на его основе генерировать новую таблицу, а уже из нее выводить данные в грид? Мне кажется очень много действий, особенно создания временных таблиц...
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838206
Dmitry Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLADDmitry Y,

Код: sql
1.
2.
create table test_table as
       select cast(1+1 as numeric) as number

?
Тем более результат опять же строка а не число
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838298
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Yвоспринимается как строка.

Кем воспринимается?
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838366
Dmitry Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pit_alex,

любым клиентом:
SQLite Express Personal (строки выравниваются по левому краю столбца, числа по правому+ширина столбца 255 символов)
SQLite Administrator (строки выравниваются по левому краю столбца, числа по правому+ширина столбца 255 символов)
компонентами
ZeosQuery (asFloat не работает надо StrToFloat)
DevExpress (не работает суммирование по группам - пишет не могу конвертировать олестроку в флоат)
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838373
Dmitry Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pit_alexDmitry Yвоспринимается как строка.

Кем воспринимается?
Просто возьмите и попробуйте любым гридом, где есть автосумма по столбцу и просуммируйте этим компонентом вычисляемое поле и получичте кучу матов от компилятора при компиляции или вычислении...
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838416
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Y,

Каст приводит тип к числу принудительно. Вывожу в таблицу, чтобы показать, что если сделать потом pragma table_info(test_table) то столбец будет нужного типа. Если вы делаете запрос, то укажите что ввчисляемое выражение будет числом, иначе скорее всего датагрид не может получить тип колонки... Хотя я не пользовался компонентами, а читал из ДатаРидера нужный мне тип, проблем невозникало.
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838418
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VSVLADтип к числу
Имею ввиду "выражение". Пятница, вечер, мозг отключен
...
Рейтинг: 0 / 0
SUM()=Text - как победить?
    #38838487
Dmitry Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLAD,
Даже код типа
Код: sql
1.
CAST(2 as Float)


дает строковое значение - это беда склита прочитал на многих сайтах...
ЗЫ: Уже 5ый час перевожу прогу на файрберд (просто юзаю зеос и что бы не перевыкладывать компоненты искал СУБД, который поддерживает мой компонент и он был фри и локально можно было юзать). Уже проверил с ним все ок таких проблем нет (маленькое отличие в гроуп бай, но уже порешал, до конца еще не понимаю на сколько оно критично, но поидее все ок). Щас буду писать софтинку по экспорт из склита в файрберд... До завтра перейду на другу СУБД и забуду о траблах с датами, сравнении кириллических букв, агрегатные функции... Агрегатные для меня забили последний гвоздь в этой СУБД, что бы заставить потратить 1 день на переход в другую СУБД
ЗЫЫ: О трабле с Group By в склите я указывал 1-2 поля, по которым нужно было группировать, а в файрберде нужно указать все не агрегатные поля, заявленные в селект, так вот я думаю не добавит ли мне это "дополнительную" фильтрацию, поидее нет (сравнивал 2-3 случайных запроса в склите и фаерберде - результат один), но за день мозги уже ватные думать отказываются...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SUM()=Text - как победить?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]