SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.10.2014 11:09:49

Woofy
Участник
Зарегистрирован: 08.10.2014
Сообщений: 3

Замена значений в таблице

Всем привет.
Есть таблица:
ТС                         line ticked
01.01.2014                2 null
02.01.2014              15 null
03.01.2014               2   0
04.01.2014               2   0
05.01.2014               5   0
...
подскажите пож. как сделать запрос на замену '0' на 'null', в определенном временном интервале и на определенных строках второго столбца.

т.е. должно получиться так.

ТС                       line ticked
01.01.2014              2   null
02.01.20141             5   null
03.01.2014               2   Null
04.01.2014               2   Null
05.01.2014               5   0

Неактивен

 

#2 08.10.2014 13:18:10

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Замена значений в таблице

update `имя таблицы` set ticked = null where ticked = 0 and условия на ТС и line, например (line=2 and `ТС` between '03.01.2014' and '04.01.2014');

Неактивен

 

#3 08.10.2014 13:20:22

Woofy
Участник
Зарегистрирован: 08.10.2014
Сообщений: 3

Re: Замена значений в таблице

Я написал

UPDATE servicebook
SET ticket_id = 0
WHERE (TS BETWEEN '2014-09-09 10:00:00'<Ts AND TS<'2014-09-09 11:00:00') and (Lineid = 36)
только хз поч не работает(

Неактивен

 

#4 08.10.2014 13:38:44

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Замена значений в таблице

UPDATE servicebook
SET ticket_id = 0
WHERE ('2014-09-09 10:00:00'<Ts AND TS<'2014-09-09 11:00:00') and (Lineid = 36);


или

UPDATE servicebook
SET ticket_id = 0
WHERE (TS BETWEEN '2014-09-09 10:00:00' AND '2014-09-09 11:00:00') and (Lineid = 36)

Неактивен

 

#5 09.10.2014 07:08:03

Woofy
Участник
Зарегистрирован: 08.10.2014
Сообщений: 3

Re: Замена значений в таблице

vasya написал:

UPDATE servicebook
SET ticket_id = 0
WHERE ('2014-09-09 10:00:00'<Ts AND TS<'2014-09-09 11:00:00') and (Lineid = 36);


или

UPDATE servicebook
SET ticket_id = 0
WHERE (TS BETWEEN '2014-09-09 10:00:00' AND '2014-09-09 11:00:00') and (Lineid = 36)

Спасибо, все работает)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson