Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / (Select - SQL) Пользовательские функции / 5 сообщений из 5, страница 1 из 1
15.03.2005, 15:29
    #32961156
Grumax_user
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Select - SQL) Пользовательские функции
Стандартная ситуация: делаю выборку из таблиц, указываю поля и мои собственные функции(вычисляемые поля)
Код: plaintext
SELECT t1.Field_one, t1.Field_two, IIF(AT(lcWhat,t1.Field_three)# 0 ,"Вошел"," ") AS f_Ent FROM t1
в этом случае, если 1 запись удовлетворяет условию, т.е. в поле f_Ent 1 запись ="Вошел" все нормально размерность поля =LEN("Вошел"), то в обратном случае, когда f_Ent=" " результирующая таблица (курсор) имеет поле f_Ent размерность С(1). Такая же тенденция и у поля типа Numeric (если выставлено округление до 2-х знаков и если 1 значение ZERO -> 0 , то все что выше 9.99 превращается в ***)
Вылечил используя второе значение не 1 пробел, а количество пробелов равное наибольшему значению (я беру 250 пустушек-пробелов), а Numeric превращаю в Character, т.е.
Код: plaintext
1.
2.
3.
4.
5.
6.
LOCAL lc250
STORE " " TO lc250
FOR i= 1  TO  250 
   lc250=lc250+chr( 32 )
ENDFOR
SELECT t1.Field_one, t1.Field_two, IIF(AT(lcWhat,t1.Field_three)# 0 ,"Вошел",lc250) AS f_Ent FROM t1
Это лечится каким либо др. способом (интересует в основном решения относительно цифровых значений)?

------------------------------------------------------------------------------------
Я во все дела суюсь -> всесторонне разовьюсь
...
Рейтинг: 0 / 0
15.03.2005, 15:36
    #32961176
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Select - SQL) Пользовательские функции
Вот тут
http://www.sql.ru/forum/actualthread.aspx?tid=163662&pg=2 в самом конце подобное обсуждали
...
Рейтинг: 0 / 0
15.03.2005, 15:39
    #32961189
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Select - SQL) Пользовательские функции
для стринга пользуй PADR(IIF(AT(lcWhat,t1.Field_three)#0,"Вошел"," "),5)
...
Рейтинг: 0 / 0
15.03.2005, 16:17
    #32961355
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Select - SQL) Пользовательские функции
LOCAL lc250
STORE " " TO lc250
FOR i=1 TO 250
lc250=lc250+chr(32)
ENDFOR

=
LOCAL lc250
STORE space(250) TO lc250
...
Рейтинг: 0 / 0
15.03.2005, 16:20
    #32961363
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Select - SQL) Пользовательские функции
сам не пробывал но может так
SELECT t1.Field_one, t1.Field_two, IIF(AT(lcWhat,t1.Field_three)#0,"Вошел", space(5) ) AS f_Ent FROM t1
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / (Select - SQL) Пользовательские функции / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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