Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Data w notacji liczbowej
kilas88
post 13.07.2010, 16:46:36
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

Ostrzeżenie: (0%)
-----


Witam,

Mam zapisaną datę w następującym formacie:
  1. `data` int(11) NOT NULL


Przykładowo:
20100713 oznacza 2010-07-13

Niestety nie ja zaprojektowałem tą bazę danych, a jedynie wykonuję zlecenie polegające na rozbudowie bieżącego projektu o nową funkcjonalność.

Muszę od jakiejś daty odjąć ileśtam dni. Przykładowo: -60 dni. Jak to wykonać na poziomie SQL? Wiadomo, że nie mogę zrobić 20100713-60, więc jak inaczej, najwydajniej?

Szukam i kombinuję, wycinam poszczególne znaki ww. daty (1,4 - rok, etc). Czy mogę jakoś to lepiej rozegrać?

Ten post edytował kilas88 13.07.2010, 16:47:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
wookieb
post 13.07.2010, 17:04:24
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




1) Przekonwertuj ta kolumne na pole typu timestamp lub datetime
2) W mysql masz sporo funkcji do opercji na datach
date_add itd
google -> mysql datetime functions


--------------------
Go to the top of the page
+Quote Post
kilas88
post 13.07.2010, 17:23:33
Post #3





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

Ostrzeżenie: (0%)
-----


Cytat(wookieb @ 13.07.2010, 18:04:24 ) *
1) Przekonwertuj ta kolumne na pole typu timestamp lub datetime
2) W mysql masz sporo funkcji do opercji na datach
date_add itd
google -> mysql datetime functions

Chciałbym, ale nie mogę, dlatego wyżej wspomniałem, że rozbudowuję projekt po kimś innym (a projekt jest już na tyle rozbudowany, że koszta przebudowy będą dość spore). Badziewnie zapisane te dane.

Jak na razie zrobiłem (choć nie jest to zbyt satysfakcjonujące rozwiązanie):
  1. DATE_FORMAT(DATE_SUB(:prepare_date, INTERVAL :time_range DAY), '%Y%m%d') < i.DATA


:prepare_date = date("Y-m-d")
:time_range = jakaś liczba

Gdyby ktoś miał jakiś lepszy i wydajniejszy pomysł to proszę o rady.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 09:34