Autor Zpráva
Stanleym
Profil
Dobry podvecer,

pointa:
Mam vlastnu apps, ktorou vkladam datum do tabule, ta ma 5 stlpcov pre datum. Ked mam pole v aplikacii prazdne
dosadim do tabule hodnotu 0000-00-00. Nasledne potrebujem zmenit tu hodnotu na NULL.
Ak to nahradim

UPDATE tabula SET nieco_1=REPLACE(nieco_1, '0000-00-00', NULL)

vsetko je ok.

Lenze ja mam napr. | 2014-11-11 | 0000-00-00 | 2014-01-12 | 2016-10-15 | 0000-00-00 |

Ak odoslem

UPDATE 
  tabula 
SET  
  nieco_1=REPLACE(nieco_1, '0000-00-00', NULL), 
  nieco_2=REPLACE(nieco_2, '0000-00-00', NULL),
  nieco_3=REPLACE(nieco_3, '0000-00-00', NULL),
  nieco_4=REPLACE(nieco_4, '0000-00-00', NULL),
  nieco_5=REPLACE(nieco_5, '0000-00-00', NULL)
WHERE 
  ID=3

Nahradi mi vsetky hodnoty ako NULL, bezohladu na to, co tam bolo zadane. Neviem prist na to - preco.

PS: MySQL Server 5.6.19

Dakujem za radu.
S.
tiso
Profil
Zmeň REPLACE za IF:
... IF(nieco_1='0000-00-00', NULL, nieco_1)...
juriad
Profil
Stanleym:
Raději bys měl zařídit, aby se do tablky 0000-00-00 nikdy nedostalo a zkonvertovat to na NULL už v aplikaci.
Nicméné pro jednorázový převod updatovací dotaz potřebuješ.
Stanleym
Profil
juriad:
To by bolo hodne zlozite, dostat tam null.

tiso:
Dakujem za nakopnutie, vyskusam.
juriad
Profil
Stanleym:
Nemělo by být. Je-li, máš aplikaci špatně navrženou. Vždy je lepší řešit příčinu a ne následek. Máš-li zájem, můžeme pokračovat tím směrem.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: