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
one_eddie
post
Post #2





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.

  1. "MID(CONCAT( MID( '0000000', 1, 8 - LENGTH( p.Id ) ), p.Id )),0," << (int)strlen( cpszValue ) << ")='" << cpszValue << "')


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
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: 7.10.2025 - 08:40