SQL Umstellung und Sortierung

6. Oktober 2011 12:18

Hallo,

wir haben eine native Datenbank auf SQL umgestellt und nun Probleme mit den Filtern
bzw. Sortierungen. Folgendes Problem:

Beispiel: Eine Filter auf eine Nummer innerhalb eines CODE Feldes..

30000..50000

Ergebnis Nativ: Ich bekomme 30000..50000
Ergebnis SQL: Ich bekomme 30000..50000 ABER auch zB 500

Gibt es eine Lösung für dieses Problem?!

Danke in voraus

Re: SQL Umstellung und Sortierung

6. Oktober 2011 12:34

Das ist normal bei Zahlen in Textfelder im SQL, da ist halt 500 nach 40000.

Re: SQL Umstellung und Sortierung

6. Oktober 2011 12:41

Eine Lösung nicht wirklich, da es einfahc nur eine andere Sortierung ist.
Hier wurde das schnmal durchgekaut:
viewtopic.php?f=34&t=7994

Re: SQL Umstellung und Sortierung

6. Oktober 2011 14:23

Grundsätzliche Regel bei der Anlage von NAV- Nummernserien:

Es wird immer die volle Länge belegt auch für den ersten Eintrag=> Artikelnummern fangen nicht bei "1" an, sondern z.B. bei "10000000". Das verhindert dein jetziges Problem zuverlässig.

Ich weiß, das dir das jetzt nicht mehr hilft :-? , aber sollte später mal jemand diesen Artikel lesen, sieht er die Abhilfe.

Heute gibt es eigentlich nur noch eine Möglichkeit das ganze zu lösen. Wenn nicht zu viele Posten da sind, könnte man die Artikel o.ä. umbenennen, und so das Problem beseitigen. Im Kontenschema ist das z.B. noch recht einfach möglich indem man dort '0' vor die kürzeren Ziffern schreibt, bis die Längen überein stimmen.


Gruß, Fiddi

Re: SQL Umstellung und Sortierung

6. Oktober 2011 14:29

Danke für die Antworten!

Der Link war auch sehr informativ.

Ja, mir/uns ist bekannt, dass die gleiche Anzahl von Ziffern das Problem nie hätte entstehen lassen. In diesem Fall handelt es sich um Artikelnummern aus verschiedenen Fremdsystemen. Wir haben sie 1:1 übernommen
und deswegen sind sie nun unterschiedlich lang.
Ein Auffüllen der Zeichen ist die angedachte Option zur Lösung. Ich hoffte allerdings, dass es möglich ist
durch einen geschickten Filter (in etwa 30000..50000 | ?????) das Problem zu umgehen. Leider führten meine
Versuche dahingehend nicht zum Erfolg :(
Die Option den Datentype auf Variant zu stellen ist auch bekannt, allerdings waren wir bzgl. der Folgen unsicher.

Also eine geänderte Filterung zur Lösung des Problems kann ich ausschließen, oder?

Re: SQL Umstellung und Sortierung

6. Oktober 2011 14:36

Bei solchen Aktionen am Besten das Changelog mitlaufen lassen, falls mal ein Prüfer drübergucken möchte.

Re: SQL Umstellung und Sortierung

6. Oktober 2011 14:58

Also eine geänderte Filterung zur Lösung des Problems kann ich ausschließen, oder?


Das hängt von deinen Daten ab.

Für dein Beispiel oben könnte evtl: 3????|4????|5???? funktionieren. Aber ob du das so in allen Lebenslagen umschiffen kannst, möchte ich mal bezweifeln.

Gruß, Fiddi

Re: SQL Umstellung und Sortierung

6. Oktober 2011 16:56

MarcelW hat geschrieben:Danke für die Antworten!
Ein Auffüllen der Zeichen ist die angedachte Option zur Lösung. Ich hoffte allerdings, dass es möglich ist
durch einen geschickten Filter (in etwa 30000..50000 | ?????) das Problem zu umgehen. Leider führten meine
Versuche dahingehend nicht zum Erfolg :(

Ersetze die Pipe durch ein kaufmännisches Und, und es funktioniert :wink:
Aber achte auf den folgenden Unterschied:
Filter 1: 1..2&??
Filter 2: 10..20&??

Filter 2 zeigt die Zahlen 10-20 an, Filter 1 nur 10-19.

Re: SQL Umstellung und Sortierung

6. Oktober 2011 20:26

Auch wenn das Problem hier letztendlich schon geklärt und gelöst ist, ist der folgende Artikel möglicherweise interessant: “Wutschen und Wedeln”: Sortieren und Filtern in Dynamics NAV - Unterschiede zwischen SQL Server und Native.

Re: SQL Umstellung und Sortierung

7. Oktober 2011 10:11

Ok, danke an alle die geholfen haben.
Als FAZIT bleibt also momentan:

Lösung 1: Anpassen der Datenbestände auf Werte mit gleicher Zeichenlänge
Lösung 2: Ändern des Property des Codefeldes "SQLDataType"

Re: SQL Umstellung und Sortierung

7. Oktober 2011 11:15

Also SQLDataType ändern ist kritisch imho.