![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 23.05.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Czy jest jakis sposob aby zamienic dana typu 1 na 00001 oraz dana typu 101 na 00101 chodzi o dzialanie identyczne jakie daje funkcja z jezyka C (printf( "%05d", 1 ) // == 00001)
Szukalem na mysql.com ale jedyne co znalazlem to FORMAT ale on nie dziala tak jak bym tego oczekiwal. Jest jakis sposob aby wymusic takei formatowanie? // edit Chyba mi sie udalo wkoncu wpadlem na pomysl jak to zrobic jesli ktos ma lepszy sposob chetnie go zobacze:
Kod +------------------------------------------+
| concat(mid('0000000',1,8-length(id)),id) | +------------------------------------------+ | 00000006 | | 00000007 | | 00000008 | +------------------------------------------+ Ten post edytował one_eddie 28.07.2005, 15:11:06 |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
A nie wygodniej ustawiś dla danego pola odpowiednią długość i dać zerofill?
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat A nie wygodniej ustawiś dla danego pola odpowiednią długość i dać zerofill? Jeśli by chodzilo tylko o wyswietlanie wyników to to rozwiązanie jest super. Sęk w tym, że późniejsze operację na ID, które nie są liczbami a stringiem 0000003 może powodowac pewne kłopoty, na które ja się natknąłem i przeklinam dzień, w którym przez przypadek wcisnąłem zerofill na polu. Nie polecam do poważniejszych zastosowań. Naprawdę moze wprowadzić trochę niepotrzebnej babraniny.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(nospor @ 2005-07-28 16:24:57) Cytat A nie wygodniej ustawiś dla danego pola odpowiednią długość i dać zerofill? Jeśli by chodzilo tylko o wyswietlanie wyników to to rozwiązanie jest super. Sęk w tym, że późniejsze operację na ID, które nie są liczbami a stringiem 0000003 może powodowac pewne kłopoty, na które ja się natknąłem i przeklinam dzień, w którym przez przypadek wcisnąłem zerofill na polu. Nie polecam do poważniejszych zastosowań. Naprawdę moze wprowadzić trochę niepotrzebnej babraniny. no tak, ale chyba nie mowimy tutaj o zastosowaniu zero fill dla klucza glownego tabeli..., prawda? Ten post edytował mhs 28.07.2005, 15:27:59 |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Jakiej babraniny? Jak potrzebujesz integera to robisz zwqyczajne (int)$zmienna i po kłopocie.
Inna sprawa, że ja bym to w ogóle formatował już po wyciągnięciu z bazy za pomocą sprintf(). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 23.05.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Cytat(kszychu @ 2005-07-28 16:28:04) Jakiej babraniny? Jak potrzebujesz integera to robisz zwqyczajne (int)$zmienna i po kłopocie. Inna sprawa, że ja bym to w ogóle formatował już po wyciągnięciu z bazy za pomocą sprintf(). W skrypcie dane wprowadzane sa tak ze liczby poprzedzane sa odpowiednia iloscia zer. Teraz jesli w bazie jest kilka id, np 00001 00101 00110 i uzer poda po kolei 00 ... zobaczy wszystkie poda 000 zobaczy jeden cofnie i poda 001 zobaczy 2 dlatego wlasnie zdecydowalem sie na taki kawalek skryptu. i stad to cale zamieszanie.
no i dizeki temu ze sprawdzanie robie na poziomie sql nie musze potem podczas wyswietlanie odrzucac dane i robic niepotzrebnej roboty, poniewaz robi to za mnie sql. Ten post edytował one_eddie 28.07.2005, 15:33:23 |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no tak. Jak od początku jest się nastawionym, że to będzie 0000...., anie liczba to niech będzie, przesadzilem. W moim przyapdku zerofill wcisnelo się w dośc zaawansowanej fazie projektu, na tylko jedenj tabeli. W inncy tabelach klucze obce do tej tabeli mialem normalne. Musialem potem troche kombinować , ze by w pewnych mych zastosowaniach to bylo zgodne. Trudno mi opisac konkretnie problem bo juz nie pamietam. W kazdym bądź razie w środku projektu nie polecam takich zmian.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 23.05.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Cytat(nospor @ 2005-07-28 16:33:34) (...)W kazdym bądź razie w środku projektu nie polecam takich zmian. Faktycznie zero fill bylo by dla mnie wygodniejsze ale pociagnelo by zasoba zmiane lanuhchow formatujacych. Poki co moje rozwiazanie dziala i nie ma sensu go zmieniac. Dzieki za pomoc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:36 |