Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak sprawdzić (lub nawet ustawić) sortowanie w pliku mdb (dostęp ms)?

Rozgryzłem to. Użyłem klasy Collator do prawidłowego sortowania.

FYI wygląda to tak (jest to sortowanie ArrayList):

public class AccessSorter
{ 
final static String letters = "< a, A < b, B < c, C < d, D < e, E < f, F < g, G < h, H < i, I < j, J < k, K < l, L < m, M < n, N < o, O < p, P < q, Q < r, R < s, S < t, T < u, U < v, V < w, W < x, X < y, Y < z, Z";
final static String digits = "< 0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9";
final static String special = "< '.' < '_'";
private RuleBasedCollator accessCollator;


AccessSorter()
{
    try
    {
        accessCollator = new RuleBasedCollator(special + digits + letters);
    }
    catch (ParseException e)
    {
        e.printStackTrace();
    }
}


SomeComparator getSomeComparator()
{
    return new SomeComparator();
}

class SomeComparator implements Comparator<String[]>
{
    @Override
    public int compare(String[] s1, String[] s2)
    {
       return accessCollator.compare(s1[1], s2[1]);
    }
}

}

przykład użycia:

Collections.sort(someCollectionOfStringArray, new AccessSorter().getSomeComparator()

A teraz nie musisz się martwić o sortowanie dostępu lub mySQL. Sam ustalasz zasady. Oczywiście sortowanie takiej tablicy zajmuje trochę czasu.
Pamiętaj, że jeśli chcesz posortować duże tablice więcej niż raz, rozważ użycie funkcji getCollatorKey() w celu zwiększenia wydajności.
Pamiętaj również, że musisz dodać do średniki posortowane, kropki, cudzysłowy umieść je w „ ”.
Mam nadzieję, że to ci jakoś pomoże.Pozdrawiam.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyświetlić pierwszą literę jako wielką?

  2. Symulacja polecenia ORDER BY FIELD() MySQL w Postgresql

  3. C# z MySQL - Błąd:Guid powinien zawierać 32 cyfry z 4 myślnikami podczas próby otwarcia połączenia

  4. Czy istnieje jakaś funkcja agregująca MySQL dla CONTAINS?

  5. Obsługa połączeń i ograniczanie przepustowości za pomocą ProxySQL