sql >> Databáze >  >> RDS >> Mysql

Jak zkontrolovat (nebo dokonce nastavit) řazení v souboru mdb (ms access)?

Přišel jsem na to. Pro správné třídění jsem použil třídu Collator.

FYI vypadá to takto (toto je řazení 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]);
    }
}

}

příklad použití:

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

A nyní se nemusíte starat o kolace přístupu nebo mySQL. Pravidla si určujete sami. Seřadit takové pole samozřejmě nějakou dobu trvá.
Pamatujte si, že pokud potřebujete seřadit velká pole více než jednou, zvažte použití getCollatorKey() ke zvýšení efektivity.
Pamatujte také, pokud potřebujete přidat do středníky zakladače, tečky, uvozovky je vložte do „ “.
Doufám, že vám to nějak pomůže. S pozdravem.




  1. SQL:Jak mohu aktualizovat hodnotu ve sloupci, pouze pokud je tato hodnota null?

  2. Nastavte alias sloupce MySQL na vypočítané datum

  3. zkontrolujte, zda existuje hodnota v poli kódování json v mysql

  4. Jak funguje funkce Power() v PostgreSQL