Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL & NULL / 24 сообщений из 24, страница 1 из 1
05.03.2006, 18:51:46
    #33582617
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
Старая тема :) есть несколько десятков тысяч записей и конечно же в некоторых полях присутствует NULL. можно ли средствали SQL создать такой запрос на выборку чтоб все встречающиеся NULL значения изменить к примеру на "". Не хочу изменять БД и не хочу тратить время на проверку типо
If IsNull(rs!value) Then ...
работаю с mdb. Как вы решаете эту проблему?
...
Рейтинг: 0 / 0
05.03.2006, 20:16:48
    #33582659
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
Where Pole is null
...
Рейтинг: 0 / 0
05.03.2006, 21:24:01
    #33582696
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
barrabasWhere Pole is nullу меня нет необходимости выбрать все NULL я хочу их заменить, если это возможно, конечно не изменяя базу.
...
Рейтинг: 0 / 0
05.03.2006, 23:14:56
    #33582781
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
Update таблица
set поле=на что заменить
where поле is null
...
Рейтинг: 0 / 0
05.03.2006, 23:39:21
    #33582818
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
barrabasUpdate...изначально не хочу изменять базу данных, но если это единственный вариант, то так и поступлю, т.к. проверять данные через if еще хуже
...
Рейтинг: 0 / 0
06.03.2006, 08:20:02
    #33583043
SQL & NULL
SmeL_mdможно ли средствали SQL создать такой запрос на выборку чтоб все встречающиеся NULL значения изменить к примеру на "". работаю с mdb.

Воспользуйся функцией Nz.

Эту функцию можно использовать при преобразовании значения Null в другое значение, чтобы предотвратить использование нулевого значения в выражении.

Nz(переменная , [ новое_значение ])

Код: plaintext
1.
SELECT LastName, Nz([Account],"")
FROM tblCustomers
...
Рейтинг: 0 / 0
06.03.2006, 09:02:28
    #33583100
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
SELECT N_NAME+'НОЛЬ' FROM TABLE
WHERE N_NAME IS NULL
...
Рейтинг: 0 / 0
06.03.2006, 10:41:31
    #33583355
SQL & NULL
Сделаю поправку, что пример привел для Access. Из VB вариант с Nz не прокатит.

TIKO хороший пример привел.
...
Рейтинг: 0 / 0
06.03.2006, 11:42:48
    #33583556
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
Как зная только имя таблицы заменить все NULL во всех полях на что то :) пусть даже в базе :).
...
Рейтинг: 0 / 0
06.03.2006, 11:52:21
    #33583585
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
В какой базе-то? SQL Server или Access?
...
Рейтинг: 0 / 0
06.03.2006, 11:56:36
    #33583597
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
select 'fld' = case when fld is null then '' else fld end
from tbl
...
Рейтинг: 0 / 0
06.03.2006, 12:00:38
    #33583614
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
Пользователь2TIKO хороший пример привел.Хреновый пример. Если N_NAME is null, то и результат null.
...
Рейтинг: 0 / 0
06.03.2006, 12:00:57
    #33583617
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
MelkiadesВ какой базе-то? SQL Server или Access?Access
...
Рейтинг: 0 / 0
06.03.2006, 12:02:02
    #33583621
SQL & NULL
MelkiadesВ какой базе-то? SQL Server или Access?
Melkiades, Access.
SmeL_mdработаю с mdb
...
Рейтинг: 0 / 0
06.03.2006, 12:14:19
    #33583684
SQL & NULL
Antonariy Пользователь2TIKO хороший пример привел.Хреновый пример. Если N_NAME is null, то и результат null.
Не понял тебя.

Код: plaintext
1.
2.
SELECT LastName, Account & "0" As AccountNull
FROM tblCustomers
WHERE Account Is Null

Все ок.
...
Рейтинг: 0 / 0
06.03.2006, 12:14:47
    #33583690
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
SmeL_mdКак зная только имя таблицы заменить все NULL во всех полях на что то :) пусть даже в базе :).
я же написал тебе пример запроса на обновление
...
Рейтинг: 0 / 0
06.03.2006, 12:17:49
    #33583700
SQL & NULL
SmeL_mdКак зная только имя таблицы заменить все NULL во всех полях на что то :) пусть даже в базе :).

Вроде уже ответили.

Код: plaintext
1.
2.
UPDATE tblCustomers 
SET Account =  1 
WHERE Account Is Null
...
Рейтинг: 0 / 0
06.03.2006, 12:21:24
    #33583714
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
SELECT N_NAME & 'НОЛЬ' FROM TABLE
WHERE N_NAME IS NULL

или так без поля

SELECT 'НОЛЬ' FROM TABLE
WHERE N_NAME IS NULL
...
Рейтинг: 0 / 0
06.03.2006, 12:34:59
    #33583764
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
Пользователь2Вроде уже ответили.
Код: plaintext
1.
2.
UPDATE tblCustomers 
SET Account =  1 
WHERE Account Is Null
Тут мы знаем что существует поле Account.его и заменяем у меня много таблиц и я хочу их всех под одну гребенку. Почему
Код: plaintext
Update F3A_Edifici SET CODICE_EDIFICIO_RFI='' WHERE (((F3A_Edifici.CODICE_EDIFICIO_RFI) Is Null));
не изменяет нулл значение на пустую строку начинает работать только когда между кавычками что то есть
...
Рейтинг: 0 / 0
06.03.2006, 12:43:53
    #33583797
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
пустая строка и есть Null для строковых значений
без пробела бежду ковычками ты будешь менять null на null
...
Рейтинг: 0 / 0
06.03.2006, 12:56:00
    #33583833
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
TIKOпустая строка и есть Null для строковых значений

Не обобщайте.
Это справедливо только для оракла (всегда).
В аксессе это справедливо только для случая, когда для колонки установлено свойство "Пустые строки = да".
...
Рейтинг: 0 / 0
06.03.2006, 13:43:50
    #33584044
ВasiС
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
Null всегда может попасть в БД при добавлении данных!
ИМХО проще не бороться с ветрянными мельницами, а делать проверку при присвоении в коде VB.
Сам пользую и другим рекомендую:

Public Function CheckNull(sCheck, default As String) As String
'Проверка функций на IsNull
If IsNull(sCheck) Then
CheckNull = default
Else
CheckNull = Trim$(sCheck)
End If
End Function

Ну, а в коде, например:

txtRoot(0).Text = CheckNull(rs.Fields("RootName"), "")
или
txtRoot(1).Text = CheckNull(rs.Fields("RootDirName"), 0)
...
Рейтинг: 0 / 0
06.03.2006, 13:52:12
    #33584083
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
ВasiСNull всегда может попасть в БД при добавлении данных!
ИМХО проще не бороться с ветрянными мельницами, а делать проверку при присвоении в коде VB.
Сам пользую и другим рекомендую:
Public Function CheckNull(sCheck, default As String) As String
'Проверка функций на IsNull
If IsNull(sCheck) Then
CheckNull = default
Else
CheckNull = Trim$(sCheck)
End If
End Function
Вот что я уже использую ознакомившись с топом
Код: plaintext
1.
2.
Public Function IsNull2(CheckValue As Variant) As String
 If IsNull(CheckValue) Then IsNull2 = "" Else IsNull2 = CheckValue
End Function
очень похоже на то что и Вы написали
...
Рейтинг: 0 / 0
06.03.2006, 14:55:54
    #33584350
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL & NULL
Пользователь2 Не понял тебя.
Код: plaintext
1.
2.
SELECT LastName, Account & "0" As AccountNull
FROM tblCustomers
WHERE Account Is Null
Все ок.Для аксесса действительно ок. Для sql сервера нет.

SmeL_md , правильно мыслишь )))) Сам такую давно юзаю:
Код: plaintext
1.
2.
Public Function StrFromRS(valueRS) As String
    If Not IsNull(valueRS) Then StrFromRS = valueRS
End Function
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL & NULL / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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