Czy można MySQL zmusić, żeby wszelkie pola typu DATETIME zawsze zwracał w określonym formacie?
Widzisz wersję archiwalną tematu "Czy można MySQL zmusić, żeby wszelkie pola typu DATETIME zawsze zwracał w określonym formacie?" z forum pl.comp.bazy-danych
Strona 1 z 1 • 1
t0mek - 28 Paź 2008, 08:03
Witam,
Czy można MySQL zmusić, żeby wszelkie pola typu DATETIME zawsze zwracał w
określonym formacie?
Nie chce mi się każdorazowo pisać SELECT DATE_FORMAT(...) skoro zawsze chcę
mieć wszelkie daty w tym samym formacie.
Nie można wysłać jakiegoś polecenia w stylu "SET NAMES", żeby MySQL wiedział
jaki format ma zawsze zwracać?
Pozdrawiam,
t0mek
wloochacz - 28 Paź 2008, 09:31
Witam,
Czy można MySQL zmusić, żeby wszelkie pola typu DATETIME zawsze zwracał
w określonym formacie?
Nie chce mi się każdorazowo pisać SELECT DATE_FORMAT(...) skoro zawsze
chcę mieć wszelkie daty w tym samym formacie.
Nie można wysłać jakiegoś polecenia w stylu "SET NAMES", żeby MySQL
wiedział jaki format ma zawsze zwracać?
A po co Ci to?
Od formatowania danych jest aplikacja, nie serwer.
Więc zrób to tam gdzie należy.
t0mek - 28 Paź 2008, 09:57
A po co Ci to?
Od formatowania danych jest aplikacja, nie serwer.
Więc zrób to tam gdzie należy.
Ale MySQL zwraca już sformatowaną datę. Więc muszę ja wtedy konwertować np.
na uniksowy znacznik i ze znacznika na wybrany format.
Gdyby MySQL zwracał uniksowy znacznik to byłoby spoko, ale zwraca zwykłego
stringa w jakimś tam formacie daty.
Pozdrawiam,
t0mek
Artur Muszyński - 28 Paź 2008, 10:40
| A po co Ci to?
| Od formatowania danych jest aplikacja, nie serwer.
| Więc zrób to tam gdzie należy.
Ale MySQL zwraca już sformatowaną datę. Więc muszę ja wtedy konwertować
np. na uniksowy znacznik i ze znacznika na wybrany format.
Nie musisz na unixowy znacznik. Nie wiem czego tam używasz, ale coś w
rodzaju prostego połączenia sscanf+vsprintf załatwi problem.
Gdyby MySQL zwracał uniksowy znacznik to byłoby spoko, ale zwraca
zwykłego stringa w jakimś tam formacie daty.
Naprawdę taki drobiazg sprawia ci problem?
artur
porneL - 28 Paź 2008, 14:21
Ale MySQL zwraca już sformatowaną datę. Więc muszę ja wtedy konwertować
np. na uniksowy znacznik i ze znacznika na wybrany format.
Gdyby MySQL zwracał uniksowy znacznik to byłoby spoko, ale zwraca
zwykłego stringa w jakimś tam formacie daty.
UNIX_TIMESTAMP()
t0mek - 28 Paź 2008, 16:59
Naprawdę taki drobiazg sprawia ci problem?
Nie, ale:
1) w bazie siedzi to jako uniksowy znacznik albo coś podobnego
2) mysql konwertuje to na dziwny format i mi oddaje
3) php to bierze i konwertuje na inny format
Więc wychodzi na to, że pewne obliczenia są wykonywane niepotrzebnie, a tego
ja nie lubię. Więc już wolę zmusić MySQL, żeby mi od razu zwróciło w
odpowiednim formacie.
Pozdrawiam,
t0mek
t0mek - 28 Paź 2008, 17:01
| Ale MySQL zwraca już sformatowaną datę. Więc muszę ja wtedy konwertować
| np. na uniksowy znacznik i ze znacznika na wybrany format.
| Gdyby MySQL zwracał uniksowy znacznik to byłoby spoko, ale zwraca
| zwykłego stringa w jakimś tam formacie daty.
UNIX_TIMESTAMP()
Nie, nie, nie. Ja wiem jak otrzymać znacznik, ale mi chodzi o to, żebym mógl
SELECT * FROM costam
i żebym dostał datę albo w formacie takim, jaki ma być docelowy, albo w
postaci znacznik czasu.
A teraz dostaję jakiś beton.
Pozdrawiam,
t0mek
porneL - 28 Paź 2008, 17:25
Nie, nie, nie. Ja wiem jak otrzymać znacznik, ale mi chodzi o to, żebym
SELECT * FROM costam
i żebym dostał datę albo w formacie takim, jaki ma być docelowy, albo w
postaci znacznik czasu.
A teraz dostaję jakiś beton.
SELECT *, UNIX_TIMESTAMP(pole_daty) as pole_daty
Albo w PHPie użyj strtotime().
Jak bardzo upierasz się nad niepotrzebnymi optymalizacjami, które potem
będą cię mściły, to składuj wszystkie daty jako int.
Piotr Keplicz - 29 Paź 2008, 04:50
t0mek:
1) w bazie siedzi to jako uniksowy znacznik albo coś podobnego
2) mysql konwertuje to na dziwny format i mi oddaje
3) php to bierze i konwertuje na inny format
Więc wychodzi na to, że pewne obliczenia są wykonywane niepotrzebnie, a
tego ja nie lubię. Więc już wolę zmusić MySQL, żeby mi od razu zwróciło w
odpowiednim formacie.
W przypadku PHP i jego przyzerowej obsługi typów wygodnie jest trzymać datę
w formacie znacznika uniksowego czyli INT - oczywiście o ile daty mieszczą
się w zakresie tegoż znacznika ;-)
.pk.
Artur Muszyński - 29 Paź 2008, 06:50
1) w bazie siedzi to jako uniksowy znacznik albo coś podobnego
2) mysql konwertuje to na dziwny format i mi oddaje
Dziwny? IMHO bardzo przyzwoity i typowy (prawie ISO).
3) php to bierze i konwertuje na inny format
Ja zawsze wyświetlam daty w formacie Y-m-d H:i:s, czyli identycznie jak
MySQL i większość innego oprogramowania (czasami konwertuję, żeby było
bez sekund). A jak ty chcesz wyświetlać?
Więc wychodzi na to, że pewne obliczenia są wykonywane niepotrzebnie, a
tego ja nie lubię. Więc już wolę zmusić MySQL, żeby mi od razu zwróciło
w odpowiednim formacie.
Oprócz robi wiele innych rzeczy, które można uznać za zbędne (np.
zmienia kodowanie znaków). To, co ty chcesz zrobić, to żadna
optymalizacja. Uzysk zerowy i dyskusyjny sens.
artur
t0mek - 29 Paź 2008, 11:47
Ja zawsze wyświetlam daty w formacie Y-m-d H:i:s, czyli identycznie jak
MySQL i większość innego oprogramowania (czasami konwertuję, żeby było bez
sekund). A jak ty chcesz wyświetlać?
Y-m-d, H:i :P
| Więc wychodzi na to, że pewne obliczenia są wykonywane niepotrzebnie, a
| tego ja nie lubię. Więc już wolę zmusić MySQL, żeby mi od razu zwróciło w
| odpowiednim formacie.
Oprócz robi wiele innych rzeczy, które można uznać za zbędne (np. zmienia
kodowanie znaków). To, co ty chcesz zrobić, to żadna optymalizacja. Uzysk
zerowy i dyskusyjny sens.
Łe tam :P
Pozdrawiam,
t0mek
Rafal(sxat) - 12 Lis 2008, 08:53
Czy można MySQL zmusić, żeby wszelkie pola typu DATETIME zawsze zwracał w
określonym formacie?
Nie chce mi się każdorazowo pisać SELECT DATE_FORMAT(...) skoro zawsze
chcę
tak mozna, sprawdz liste show variables like 'date%';
pozdrawiam
sxat
---
http://www.sxar.pl/ oprogramowanie dla firm,
Strona 1 z 1 • 1
Podobne wątki
mysql kiedy NULL a kiedy NOTNULL
Zadanie PHP/MySQL. Jak się do tego zabrać. Potrzebuję nakierowania.
wolny select z dwoch tabeli (mySQL)
mySQL wczytywanie danych z dwu tablic.
MySQL nie wykorzystuje RAMu, powolne zapytania
mysql, php, połączenie i wyświetlanei na ekranie
MySQL - wiek na podstawie roku urodz
MySQL - brak mozliwosci usunięcia tabeli
Call to undefined function: mysql_connect()
PHP i mySQL w duzej firmie - czy to legalne ??
Wydajność bazy danych (MySQL, PgSQL)
Licencja MySQL a komercyjny serwis WWW
Polskie znaki w MySQL 4.1.12
Mysql i zmienna open_table
MySQL, zliczanie wierszy po GROUP BY
Lista wiadomości z for internetowych !! Indeks
Odnośniki,