Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Заменить NULL на 0  [new]
angrybot
Member

Откуда: Москва
Сообщений: 152
Всем привет. Есть таблица в ней колонка с остатками складскими. Проблема в том что изначально при выгрузке из 1с в xml поле остаток было пустое поле для товаров у которых не было остатка ну они соотвественно записались как NULL в базу. А у которых был остаток все гуд. Так вот вопрос как массово заменить NULL на 0. Это необходимо для дальнейшего условия для выгрузки на яндекс маркет, чтобы там были только товары с положительным остатком. Но Условие if($sklad >0) не отрабатывает на NULL нужен 0. Народ выручайте. магаз встал
23 мар 17, 11:44    [20324781]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
aleksrov
Member

Откуда:
Сообщений: 948
angrybot,

UPDATE [yourTableName]
SET Rent = 0
WHERE Rent IS NULL
23 мар 17, 11:46    [20324799]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
MacaronicTragedy
Member

Откуда:
Сообщений: 99
angrybot,

update table
set column = ISNULL(column, 0)
23 мар 17, 11:48    [20324813]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
aleksrov
Member

Откуда:
Сообщений: 948
MacaronicTragedy,

А если там индекс?
23 мар 17, 11:53    [20324848]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
angrybot
Member

Откуда: Москва
Сообщений: 152
aleksrov,

а как указать таблицу и столбец в котором изменить в первой строке в update?
23 мар 17, 12:02    [20324925]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
MacaronicTragedy
Member

Откуда:
Сообщений: 99
aleksrov,

твой способ быстрее
23 мар 17, 12:04    [20324945]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
angrybot
Member

Откуда: Москва
Сообщений: 152
angrybot,

UPDATE `offer_common_sklad`
SET Rent = 0
WHERE Rent IS NULL

Ответ MySQL: Документация
#1146 - Таблица 'infois9h_isagk8f.offer_common_sklad' не существует
23 мар 17, 12:04    [20324946]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
Adx
Guest
angrybot
angrybot,

UPDATE `offer_common_sklad`
SET Rent = 0
WHERE Rent IS NULL

Ответ MySQL: Документация
#1146 - Таблица 'infois9h_isagk8f.offer_common_sklad' не существует


Зачем кавычки?
Поучите MS SQL. Чуток совсем, пригодится.
23 мар 17, 12:13    [20325010]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
angrybot
Member

Откуда: Москва
Сообщений: 152
angrybot,

В общем если все по полочкам есть таблица в базе с названием 1c_offers в ней есть столбец offer_common_sklad вот в нем и надо все Null заменить на 0, либо не правильно делаю запрос
23 мар 17, 12:13    [20325012]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
angrybot
Member

Откуда: Москва
Сообщений: 152
Adx,

И без ковычек пробовал
23 мар 17, 12:15    [20325021]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
MacaronicTragedy
Member

Откуда:
Сообщений: 99
angrybot,

а базу-то хоть ту выбрал?
23 мар 17, 12:16    [20325037]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
angrybot,
автор
Зачем кавычки?
Поучите MS SQL. Чуток совсем, пригодится.
ну да, с учётом того что у него MySql

автор
есть таблица в базе с названием 1c_offers
а зачем вы тогда пишете `offer_common_sklad`
Rent - у вас offer_common_sklad
23 мар 17, 12:17    [20325039]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
o-o
Guest
angrybot
Ответ MySQL: Документация
#1146 - Таблица 'infois9h_isagk8f.offer_common_sklad' не существует
23 мар 17, 12:17    [20325048]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
КусокАналитика
Guest
UPDATE `1c_offers`
SET offer_common_sklad = 0
WHERE offer_common_sklad IS NULL

Зачем кавычки?
Поучите MS SQL. Чуток совсем, пригодится.


Кавычки нужны т.к. MySQL:

Adx
Ответ MySQL: Документация
23 мар 17, 12:18    [20325057]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
angrybot
Member

Откуда: Москва
Сообщений: 152
TaPaK,

UPDATE 1c_offers
SET offer_common_sklad Rent = 0
WHERE Rent IS NULL

так не помогло, не могу разобраться с правильным запросом
23 мар 17, 12:19    [20325062]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
angrybot
TaPaK,

UPDATE 1c_offers
SET offer_common_sklad Rent = 0
WHERE Rent IS NULL

так не помогло, не могу разобраться с правильным запросом
а второе слово, мать его RENT вы не видите?????
23 мар 17, 12:19    [20325067]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
angrybot
Member

Откуда: Москва
Сообщений: 152
TaPaK,

Не помогло
23 мар 17, 12:22    [20325078]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
angrybot
TaPaK,

Не помогло

вам ничего не поможет. Полный скрипт и полный текста ошибки. А лучше сразу в форму по MySql
23 мар 17, 12:23    [20325088]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
КусокАналитика
Guest
angrybot
TaPaK,

Не помогло


То же не помогло?:)

UPDATE `1c_offers`
SET offer_common_sklad = 0
WHERE offer_common_sklad IS NULL
23 мар 17, 12:25    [20325092]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
angrybot
Member

Откуда: Москва
Сообщений: 152
КусокАналитика,

Спасибо помогло, затронуло аж 4446 строк.

Спасибо еще раз..
23 мар 17, 12:31    [20325123]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Гугл говорит что у MySQL должно быть так
UPDATE `table1` SET
`col1` = IFNULL(col1, 0)
23 мар 17, 12:33    [20325135]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
angrybot,

Может проще условие выгрузки изменить на if($sklad >0) and ($sklad is not null)?
23 мар 17, 15:05    [20326240]     Ответить | Цитировать Сообщить модератору
 Re: Заменить NULL на 0  [new]
просьба к модераторам
Guest
а перенесите, пожалуйста, тему в профильный форум по MySQL
23 мар 17, 15:16    [20326278]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить