Válogató sorok, mint a számok, tarlyun blog
A fejlődő gyakran válogatás feladat. Szám és szöveg sorrendje eltérő módon - nincs rejtély. Problémák merülnek fel, amikor szükség van, hogy a numerikus adatokat egy szöveges mezőben. Amikor válogató húrok szabályt kell alkalmazni, hogy a számok: 1. után, hogy 10, 11, 12 ... 19, 100. Ez volt csak a megrendelő az összes számot, 1-től kezdődően, a turn jön a 2-es szám Nézzünk egy példát, és megoldásokat.
Az adatbázis address_home asztalra. ahol a ház szám szerepel. Házszámok, mint a számjegyek a házszámot, információkat tud szolgáltatni a lakhatás, az építőipar, és így tovább ... Annak érdekében, hogy egyszerűsítse a keresést, úgy döntöttek, hogy nem választja el a szobát egy külön mezőben. Ez azt jelenti, tartsa a házszámot, mint egy húr.
Ennek eredményeként, válogatás szerezni anomália, korábban leírt ezt a cikket:
SELECT név FROM address_home rendezés név LIMIT 10 + ------ + | Íme | + ------ + | 1 | | 10 | | 10/1 | | 10/2 | | 11 | | 12 | | 13 | | 18 | | 19 | | 19a | | 100 | + ------ +
Kijavításához válogatás, kiad egy ravasz manipuláció:
SELECT név, CAST (név előjeltelenné) AS name2 FROM address_home ORDER BY name2 neve LIMIT 10 + ------ + | Íme | + ------ + | 1 | | 2. | | 3. | | 4 | | 5 | | 5a | | 5b | | 6. | | 7 | | 8 | | 9 | + ------ +
CAST funkció használható, hogy a területen, hogy más típusú, ebben az esetben - a numerikus. Az előállított mező rendezni. Ahhoz, hogy a test és a szerkezet rendezése a kívánt sorrendben, adjunk hozzá egy sort a név mezőt.
Az oldatot iránymutató jellegűek. Magasabb terhelések esetén nem ajánlott használni egy ilyen nézet teljes táblázat scan (akkor is, ha az indexek segítségével).