sql >> データベース >  >> RDS >> Mysql

mdb(ms access)ファイルの照合をチェック(または設定)する方法は?

    私はこれを理解しました。適切な並べ替えのためにCollat​​orクラスを使用しました。

    参考までに、次のようになります(これは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]);
        }
    }
    

    }

    使用例:

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

    そして今、あなたはアクセスやmySQLの照合について心配する必要はありません。自分でルールを設定します。もちろん、このような配列の並べ替えには時間がかかります。
    大きな配列を複数回並べ替える必要がある場合は、効率を上げるためにgetCollat​​orKey()の使用を検討してください。
    追加する必要がある場合も覚えておいてください。コレーターのセミコロン、ピリオド、引用符はそれらを''に入れます。
    それが何らかの形で役立つことを願っています。よろしく。




    1. SQL Server2014/2016OLTPワークロードの実用的なプロセッサの選択

    2. 2つの異なるテーブルに2つのcount(*)結果を合計するにはどうすればよいですか?

    3. phpmysqlのメッセージングシステム

    4. MySQLは文字列を||と連結できますか