Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP][PHP/SQL] Jak zmienić hurtowo formę daty w bazie danych
Forum PHP.pl > Forum > Przedszkole
oi.
Witam,
mam problem z forma daty w mojej bazie danych otóż każdy rekord ma formę daty np
13-12-10 w grudniu
28-11-10 w listopadzie

jak hurtowo zamienić datę w bazie danych na formę odpowiednio
13-12-10 --> 13-12-2010
28-11-10 --> 28-11-2010
poli25
a sprobuj:
update tabela set substr(data,6,2)=2010
najpierw utworz sobie kopie tabeli bo nie jestem pewien czy Ci zadziała winksmiley.jpg
darko
Chyba najszybciej będzie Ci wyeksportować zawartość bazy danych (wraz ze strukturą) do pliku .sql i rzeźbić już w edytorze tekstowym zamieniając wszystkie wystąpienia -10 na -2010, ale uwaga na październik! Na końcu usuwasz starą bazę i robisz import nowej. Można też inaczej, korzystając z funkcji mysql: update, select, replace i/lub regexp, ale to już trochę zabawy z tym będzie.
oi.
No właśnie liczyłem na zapytanie do bazy danych UPDATE SET .... które zamieniłoby mi automatycznie. Co do października to można tak 12-10 zamień na 12-2010 ; 11-2010 zamieniam na 11-2010 , 10-10 zamieniam na 10-2010 itp /12 ctr+H w notatniku ;-) /

W innym wątku jest podobne rozwiązanie:
  1. UPDATE tabela SET DATA = CONCAT(SUBSTRING(DATA, -4), '-', SUBSTRING(DATA, -7, 2), '-', SUBSTRING(DATA, -10, 2))

tylko że to zamienia miejscami z np. 06.10.2010 na np. 2010-10-06.

Jak to zamienić w moim przypadku ?
poli25
no chyba winksmiley.jpg
UPDATE tabela SET DATA = CONCAT(SUBSTRING(DATA, 0,2), '-', SUBSTRING(DATA, 4, 2), '-2010'))


przepraszam mam niedopatrzenie powinno być:
UPDATE daty SET DATA = CONCAT(SUBSTR(DATA, 1,2), '-', SUBSTR(DATA, 4, 2), '-2010')
darko
Cytat(poli25 @ 13.12.2010, 22:34:16 ) *
no chyba winksmiley.jpg
UPDATE tabela SET DATA = CONCAT(SUBSTRING(DATA, 0,2), '-', SUBSTRING(DATA, 4, 2), '-2010'))

Raczej:
  1. UPDATE tabela SET DATA = CONCAT(SUBSTRING(DATA, 0,1), SUBSTRING(DATA, 1,5), '-', '2010')
poli25
Cytat(darko @ 14.12.2010, 02:07:17 ) *
Raczej:
  1. UPDATE tabela SET DATA = CONCAT(SUBSTRING(DATA, 0,1), SUBSTRING(DATA, 1,5), '-', '2010')


masz rację twój kod jest poprawny


powinienem był napisać:

update daty set data=concat(substr(data,1,2),'-',substr(data,4,2),'-2010')
webdice
Tak się kolego bawić nie będziemy. Pytałeś już o to w innym temacie. Zamykam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.