Miért rendezi le “rosszul” a számokat a program?

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.

 

Scroll to top

A honlap további használatához a sütikhez hozzá kell járulni. További információ

A süti beállítások ennél a honlapnál engedélyezett a legjobb felhasználói élmény érdekében. Amennyiben a beállítás változtatása nélkül kerül sor a honlap használatára, vagy a "Hozzájárulok" gombra történik kattintás, azzal a felhasználó elfogadja a sütik használatát.

Bezárás