![]() |
|
![]() ![]() ![]() |
|
Неопытный |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Какая функция в SQL конвертирует Null в ноль, В акцес функция Nz, В Delphi она не срабатывает
|
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
в каком именно SQL?
Добавлено @ 09:30 можно так
|
|||
|
||||
Неопытный |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Использую Ado при подключении к Аксесу,
В компоненте AdoQuery в Sql запрос типа 'select ... nz(Table1.Pole1) as q ...' На nz - пишет неизвесная функция |
|||
|
||||
PROeXT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 12.12.2005 Где: Москва Репутация: нет Всего: нет |
Можно и средствами самой Delphi обойтись... Например, после открытия запроса:
|
|||
|
||||
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 3 Всего: 252 |
|
|||
|
||||
Неопытный |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
У вас IsNull в условии where Table10.two is not null Мне нужно порсто конвертировать Null В 0 в вычислимом поле ...A+Null as B... дает Null |
||||
|
|||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Неопытный, скажи что за БД. В них разные функции в оракле например nvl(Field, 0) вместо 0 поставить можно любое число.
Интересно, а может просто все числа которые участвуют в вычисляемом поле просто в запросе конвертировать в 0 и тады 0+0=0 будет в вычисляемом поле 0 или что ты там еще хочешь. -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
Неопытный |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Я же говорю б.д. Access, nz - не работает
Добавлено @ 12:58
Так их физически нет! В запросе присутствует декартово произведение. Связь A--->B В результате нек информация берется из таблы A, а чиловая из таблы B, Если то что есть в A тсутствует в B, в результирующем запросе ест-но вместо числа из B будет Null. Так вот нужно просто это Null заменить на 0. Нужна функция. Nz - не работает. Я знаю, что можно Where not is Null ... , но тогда запись не попадет в выборку, а запись все равно нужна. |
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Используй IIF, вот пример, проверял в Ацессе 2003 работает.
-------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
Неопытный |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Получилось вроде
...+Iif(IsNull(x)=0,x,0) as w ... До этого пробовал ...+Iif(IsNull(x)=0;x;0) as w ... Ругается на синтаксис хотя в Аксе ...+Iif(IsNull(x)=0;x;0) as w ... странно... Добавлено @ 13:14
Блин столько времени потярял из-за ; Сразу ведь так и делал, но ставил , И всетаки почему Nz не работает. Это сообщение отредактировал(а) Неопытный - 1.12.2006, 13:16 |
||||
|
|||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
-------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
Неопытный |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
||||
|
||||
comtat |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1310 Регистрация: 2.5.2006 Где: Россия, Казань Репутация: 1 Всего: 71 |
есть такая функция как isnull(Где определяем, на че меням)
-------------------- Рожденный в СССР !!! ExtJS - мой фреймворк |
|||
|
||||
sonyi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 14.3.2009 Репутация: нет Всего: нет |
Но при использовании ISNull() выдает ошибку "Capability not supported". Как сделать, чтоб встроеные функции SQL работали в Query?
Это сообщение отредактировал(а) sonyi - 16.3.2009, 20:45 |
|||
|
||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
И не будет работать, поскольку эта функция возвращает наличие данных в поле. Нужно:
Добавлено @ 20:49 Что ты хочешь получить в итоге? Это сообщение отредактировал(а) former - 16.3.2009, 20:51 -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |