ПредишенСледващото

При разработването на често сортиране задачата. Числа и струнни са сортирани по различни начини - няма мистерия. Проблеми възникват, когато е необходимо да се запази числови данни в текстово поле. Когато сортиране струни правило ще се прилага за цифрите: след 1 до 10, 11, 12 ... 19, 100. Едва след поръчването на всички числа, като се започне с 1, ред идва на броя 2. Нека да разгледаме един пример и заобиколни.


Базата данни е address_home маса. където номерата на жилищата се съхраняват. Номерата на къщите, отколкото цифри от номера на къщата, могат да предоставят информация за жилищно строителство, строителство, и така нататък ... За да се опрости търсенето, беше решено да не да се разделят на стаята в отделна област. Това означава, че се запази номера на къщата, като низ.
В резултат на това, сортиране получи аномалия, описан по-рано в тази статия:

Изберете името ОТ address_home ORDER BY име LIMIT 10 + ------ + | име | + ------ + | 1 | | 10 | | 10/1 | | 10/2 | | 11 | | 12 | | 13 | | 18 | | 19 | | 19а | | 100 | + ------ +

За да коригирате сортиране, прекарват хитър манипулация:

Изберете името, CAST (име AS неподписана) AS NAME2 ОТ address_home ORDER BY NAME2, име LIMIT 10 + ------ + | име | + ------ + | 1 | | 2 | | 3 | | 4 | | 5 | | 5а | | 5б | | 6 | | 7 | | 8 | | 9 | + ------ +

CAST функция се използва за привеждане на терена на друг тип, в този случай - на цифровото. Генерираната областта, за да сортирате. За тялото и структурата са подредени в реда, в който искате, добавете един вид на полето с името.

Решението е дадено само за ориентиране. При по-високи натоварвания, не се препоръчва да се използва такава гледка пълна маса сканиране (дори и при използване на индекс).

Свързани статии

Подкрепете проекта - споделете линка, благодаря!