Announcement

Collapse
No announcement yet.

Sortieren ohne berücksichtigung von Grosskleinebuchstaben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sortieren ohne berücksichtigung von Grosskleinebuchstaben

    Wie kann ich einen Index oder ein Order By so hinkrigen das es nich auf Grosskleinschreibung reagiert.

  • #2
    Hallo Frank,<br><br>
    was meinst Du mit "nicht reagiert"? Wie soll die Sortierung aussehen? Welchen Zeichensatz/Collation verwendest Du?<br><br>
    Schöne Grüße,<br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      geinz einfach momentan sieht es so aus
      A
      B
      C
      a

      und so soll es sein
      A
      a
      B
      C

      Wo kriege ich den Zeichensatz raus den ich nutze

      Comment


      • #4
        Hallo,<br><br>
        Nochmals ;-). Welchen Zeichensatz (auf Datenbankebene und auf Feldebene)/Collation verwendest Du?<br><br>
        Thoma
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #5
          Das sagt meine IB Console
          SET SQL DIALECT 3;
          PAGE_SIZE 4096
          DEFAULT CHARACTER SE

          Comment


          • #6
            Ok, ich nehme mal an, dann keinen (NONE) Zeichensatz. Deine gewünschte Sortierung bekommst Du nur hin, wenn die Datenbank und die [VAR]CHAR Felder mit z.B. dem Zeichensatz ISO8859_1 od. Win1252 erstellt wurden und eine entsprechende Collation (z.B. DE_DE für ISO8859_1 od. PXW_INTL850 für WIN1252) verwendet wird.<br><br>
            Etwas mehr über Zeichensätze/Collation und einen Vergleich von ISO8859_1/WIN1252 findest Du in einem von mir verfaßten Dokument (ist schon etwas her). http://www.iblogmanager.com/download/misc/WIN1252_ISO8859_1.zip<br><br>
            Thomas
            Thomas Steinmaurer

            Firebird Foundation Committee Member
            Upscene Productions - Database Tools for Developers
            Mein Blog

            Comment


            • #7
              Danke für die schnelle antwort :

              Comment


              • #8
                Jetzt hab ich ein neues Problem wie kann ich jetzt einen Index anlegen wo das VarChar Feld grösse 84 Zeichen is

                Comment


                • #9
                  Wenn Du eine Multi-Byte Collation (z.B. DE_DE od. PXW_INTL850) verwendest, derzeit gar nicht. Da bleibt Dir nur der eine Weg übrig, dass Du nämlich eine One-Byte Collation (z.B. ISO8859_1 od. Win1252) verwendest. Probier einfach mal aus, ob für Dich die Collation ISO8859_1 bzw. WIN1252 ebenfalls die gewünschte Sortierreihenfolge zurückgibt. Wenn nicht, und Du trotzdem einen Index drauflegen möchtest, dann kannst Du in einem ORDER BY auch eine andere Collation verwenden, allerdings wird dann kein Index für das ORDER BY verwendet. z.B.
                  <pre>
                  SELECT * FROM MYTABLE ORDER BY NAME COLLATE DE_DE;
                  </pre>
                  Thoma
                  Thomas Steinmaurer

                  Firebird Foundation Committee Member
                  Upscene Productions - Database Tools for Developers
                  Mein Blog

                  Comment


                  • #10
                    Mein Problem ist eigentlich nur das ich mit Delphi 5 SP3 und IBX 5.04 eine Grid hab und dann nach denn Index Sortiere und dann auch danach suche od er giebt es auch grids die das können ohne Index dann währe mein problem auch nicht d

                    Comment


                    • #11
                      Hier kann ich Dir vermutlich nicht weiterhelfen, weil ich nicht weiß was das Grid im Hintergrund bei einer Umsortierung oder Suche macht, d.h. ob ein vorhandener Index Voraussetzung (und warum) für diese Operationen sind.<br><br>
                      Thoma
                      Thomas Steinmaurer

                      Firebird Foundation Committee Member
                      Upscene Productions - Database Tools for Developers
                      Mein Blog

                      Comment


                      • #12
                        Hi,<p>
                        ich nehme an, dass das Feld mit dem Index das gleiche ist, nachdem Du eine case insensitive Order haben willst.<p>
                        Warum erzeugst Du nicht ein zusaetzliches Feld, dass nur die ersten 84 Zeichen von einem String aufnimmt, und diese als Grossbuchstaben abspeicherst? Ist von der Performance beim Suchen wohl das schnellste, und loest beide Deiner Probleme.<p>
                        CU Chri

                        Comment

                        Working...
                        X