powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменить все значения NULL
8 сообщений из 8, страница 1 из 1
Изменить все значения NULL
    #37998287
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как изменить в курсоре все значения null хотя бы на 0 или " "
...
Рейтинг: 0 / 0
Изменить все значения NULL
    #37998292
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nvl() или isnull()
Смотря как они там появляются.
...
Рейтинг: 0 / 0
Изменить все значения NULL
    #37998321
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и как? Я делаю выгрузку с MS SQL Servera там эти поля уже со значением NULL, про сказанные вами команды я знаю, но как их применить в этой ситуации, вот с этим сложности.
...
Рейтинг: 0 / 0
Изменить все значения NULL
    #37998336
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
update MyCursor set MyField = 0 where isnull(MyField)


Если MS SQL то у него есть ISNULL() который аналогичен фоксовскому NVL(), т.е. запрос к MS SQL как-то так:
Код: sql
1.
select ISNULL(MyField, 0) as MyField ...
...
Рейтинг: 0 / 0
Изменить все значения NULL
    #37998424
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо вот первый вариант хорош))) Только пришлось получается 8 раз его прописать так как это действие необходимо для 8 столбцов
...
Рейтинг: 0 / 0
Изменить все значения NULL
    #37998435
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mihail3,

можно не 8 апдейтов, а всё в одном:
Код: sql
1.
2.
3.
4.
update table set 
field1=nvl(field1,0)
,field2=nvl(field2,0)
,...
...
Рейтинг: 0 / 0
Изменить все значения NULL
    #37998585
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, Ну да, что то я сегодня stupidity
...
Рейтинг: 0 / 0
Изменить все значения NULL
    #38000447
Jura.K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mihail3,
Сделайте отдельную процедуру или функцию
например так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
lcFields=''
**** работает для активной таблицы 
lcFields=''
FOR m.lnLine=1 TO FCOUNT()
	lcNameField=FIELD(m.lnLine)
	IF ISNULL(EVALUATE(m.lcNameField))
		lcFields=m.lcFields+IIF(!EMPTY(m.lcFields),',','')+m.lcNameField
		IF LEN(m.lcFields)>200
			BLANK FIELDS &lcFields	&& преобразование полей NULL в пусто
			lcFields=''
		ENDIF 
	ENDIF 
ENDFOR 
IF !EMPTY(m.lcFields)
	BLANK FIELDS &lcFields	&& преобразование полей NULL в пусто
ENDIF 
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменить все значения NULL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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