Her er en løsning, men som de øvrige skriver så er det nok bedst at databasen skal ændres. Nedenstående funktion kan du bruges til at sortere og du kan bruge den til at konvertere dine data til en bedre tabeldefinition.
CREATE FUNCTION SPLIT_STR( x VARCHAR(255), delim VARCHAR(12), pos INT ) RETURNS VARCHAR(255) RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos), LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1), delim, ''); SELECT * FROM `test_table` order by split_str(bynavn,'-', 1), split_str(bynavn,'-', 2)+0, split_str(bynavn,'-', 3)+0;
Til orientering har jeg valgt at følge rådet fra The_Buzz om at tilføje nye felter til databasen.
Jeg lavede en simpel sql, der gik ind og lavede en explode på den eksisterende streng.
Derefter lavede jeg en update på posten så de to felter blev udfyldt med de rigtige data.
Vupti - på 3 sekunder havde jeg rettet 1684 poster.
Venlig hilsen Kristen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.