Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Formatowanie liczb calkowitych
one_eddie
post
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:

  1. SELECT concat(mid('0000000',1,8-length(id)),id)
  2. FROM TABLE;

Kod
+------------------------------------------+
| concat(mid('0000000',1,8-length(id)),id) |
+------------------------------------------+
| 00000006                                 |
| 00000007                                 |
| 00000008                                 |
+------------------------------------------+


Ten post edytował one_eddie 28.07.2005, 15:11:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
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.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 14:37