Szám típusú adatmező
Szám típusú adatmező esetén a szoftver mindig jól rendezi le a számokat pl. 1,2,3,4,5,6,7,8,9,10,11.
Honnan tudjuk hogy egy adatmező Szám típusú?
Szám típusú adatmező esetén kizárólag számot lehet rögzíteni.
Szöveges típusú adatmező
Szöveges típusú adatmező esetén a szoftver “látszólag” nem jól rendezi le a számokat pl. 1,10,11,2,3,4,5,6,7,8,9
Honnan tudjuk hogy egy adatmező Szöveges típusú?
Szöveges típusú adatmező esetén nem csak számokat, hanem karaktereket is lehet rögzíteni.
Miért rendez ilyen módon a Szöveges típusú adatmező esetében?
Képzeld el, hogy ezeket a szavakat kell sorba rendezned:
- alma
- barack
- cseresznye
- ananász
A sorrendben először az első betűt nézed (a, b, c). Az alma és az ananász egyaránt „a”-val kezdődik, tehát ezeket az első betű alapján nem tudjuk elrendezni.
Ilyenkor a szoftver a második betűre néz. Az alma második betűje „l”, az ananászé pedig „n”. Mivel az “l” előbb jön az ábécében, mint az “n”, ezért az alma kerül előre.
Ugyanígy, a szoftver számokat is karakterekként kezeli, ha szövegmezőben vannak, és karakterenként vizsgálja meg őket.
Például ebben az esetben:
- 1
- 2
- 11
- 3
A szoftver így látja ezt:
- “1” (egy darab karakter)
- “2” (egy darab karakter)
- “11” (két darab karakter: 1 és 1)
- “3” (egy darab karakter)
Mi történik ekkor?
A szoftver szövegként próbálja meg rendezni ezeket az értékeket, mint ahogy egy könyvtárban sorba rendezzük a könyvcímeket.
Először megnézi az első karaktert. Itt az 1-es és a 11-es is az 1-es karakterrel kezdődik, tehát ők először kerülnek sorra.
De most mi történik a 11-gyel? Mivel az 11 két karakterből áll (az első az 1-es, a második is 1-es), a szoftver azt mondja, hogy ez az 1-nél “nagyobb” szöveg (mivel több karaktere van).
Szóval 11 következik a 2-es helyett. Ezt követően a 2 és a 3 sorra kerülnek, mert ők csak egy karakterből állnak, és a második karakterekre már nincs szükség a vizsgálathoz.
Így néz ki a sorrend: 1, 11, 2, 3
Lehetséges megoldás
Ha szöveges adatmezőbe számokat rögzítünk és azt szeretnénk, hogy jól rendezzen, javasoljuk, hogy egészítse ki vezető nullákkal.
Így a 1,2,3,4,5,6,7,8,9,10,11 helyett 01,02,03,04,05,06,07,08,09,10,11 számokat rögzítsen.