Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вычисляемые поля в SELECT / 8 сообщений из 8, страница 1 из 1
28.05.2007, 10:34
    #34554552
Вычисляемые поля в SELECT
есть запрос.... вот его результат.....
где поле Rentab_brig = Cost/Sbst_brig
в случае если Sbst_brig = 0, то результате запроса стоят звёздочки *******
это понятно, тут деление на 0
...
Рейтинг: 0 / 0
28.05.2007, 10:37
    #34554559
Вычисляемые поля в SELECT
но теперь, чтобы исключить деление на 0, ставлю такое выражение
IIF(Sbst_brig = 0, 0, Cost/Sbst_brig) и получаю такой результат

так вот, где были ******* появились нули (как и должно быть), но где был правильный резльтат появились звёздочки

в чем дело может быть?
...
Рейтинг: 0 / 0
28.05.2007, 10:39
    #34554565
Вычисляемые поля в SELECT
Испробуй такой вариант:

Код: plaintext
IIF(Sbst_brig =  000000000000 ,  0 , Cost/Sbst_brig) 
...
Рейтинг: 0 / 0
28.05.2007, 10:40
    #34554567
Вычисляемые поля в SELECT
Поторопился. Должно быть так:
Код: plaintext
1.
IIF(Sbst_brig =  0 ,  000000000000000 , Cost/Sbst_brig)
...
Рейтинг: 0 / 0
28.05.2007, 10:41
    #34554575
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемые поля в SELECT
КонецЦиклано теперь, чтобы исключить деление на 0, ставлю такое выражение
IIF(Sbst_brig = 0, 0, Cost/Sbst_brig) и получаю такой результат

так вот, где были ******* появились нули (как и должно быть), но где был правильный резльтат появились звёздочки

в чем дело может быть?
Фокс при первом прогоне селекта пытается определить размерность полей. Первый прогон без данных у тебя вернул:
IIF(Sbst_brig = 0, 0, Cost/Sbst_brig) = 0
Размерность поля - один байт. Проверь по AFIELDS

Седлай так:
IIF(Sbst_brig = 0, 000000000, Cost/Sbst_brig)
Или так:
IIF(Sbst_brig = 0, MTON(0), Cost/Sbst_brig)
...
Рейтинг: 0 / 0
28.05.2007, 10:47
    #34554597
Вычисляемые поля в SELECT
блин, да тут вообще ерунда какая-то получаеца....
почему-то стоят целые числа, хотя при делении должны быть дробные....

ща попробую как советуете...
...
Рейтинг: 0 / 0
28.05.2007, 10:49
    #34554608
Вычисляемые поля в SELECT
Ну, если нужны дробные, тогда так:

Код: plaintext
IIF(Sbst_brig =  0 ,  00000000000000 . 00 , Cost/Sbst_brig) 
...
Рейтинг: 0 / 0
28.05.2007, 11:36
    #34554752
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемые поля в SELECT
Вместо IIF(Sbst_brig = 0, 0, Cost/Sbst_brig) напиши
CAST(IIF(Sbst_brig = 0, 0, Cost/Sbst_brig) AS N(18,2)) или вместо N(18,2) подставь свой формат данных.

С уважением, Алексей
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вычисляемые поля в SELECT / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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