AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

cast in query

Ein Thema von khh · begonnen am 15. Jul 2011 · letzter Beitrag vom 15. Jul 2011
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

AW: cast in query

  Alt 15. Jul 2011, 08:29
Ja. Bei genügend Leerzeichen sollten theoretisch auch Zahlen korrekt sortiert werden.
Code:
-----1
---101
---102
ach so, du meinst gar nicht zu integer casten sondern gleich mit Leerzeichen auffüllen.
würde bedeuten, dass ich abhängig von der stringlänge der Artikenummern unterschiedlich viele leerzeichen davor setzen muss.
Das char feld ist 20 Zeichen gross
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#2

AW: cast in query

  Alt 15. Jul 2011, 08:56
funktioniert leider nicht

select artikelnummer from hwd_artikel
order by lpad(artikelnummer,20)

bringt die gleiche sortierung wie

order by artikelnummer

dagegen sortiert
cast(artikelnummer as integer) so wie es sein soll,

allerdings bekomme ich eben den Fehler bei alphanummerischen Zeichen
Karl-Heinz
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: cast in query

  Alt 15. Jul 2011, 09:36
Du müsstest wohl nach Char konvertieren. Am besten gleich im Select selbst und dann noch einmal verschachteln.

SQL-Code:
select * from
( Select t.*, convert(t.int as Char) as OrderField from table t ) x order by ... x.Orderfield
Und das LPad noch rein.
Gruß, Jo
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#4

AW: cast in query

  Alt 15. Jul 2011, 10:11
Du müsstest wohl nach Char konvertieren. Am besten gleich im Select selbst und dann noch einmal verschachteln.

SQL-Code:
select * from
( Select t.*, convert(t.int as Char) as OrderField from table t ) x order by ... x.Orderfield
Und das LPad noch rein.
warum nach char?

die artikelnummer ist doch char
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: cast in query

  Alt 15. Jul 2011, 10:04
Hier könnte eine eigene Collation helfen.
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#6

AW: cast in query

  Alt 15. Jul 2011, 10:18
Hier könnte eine eigene Collation helfen.
wie meinst das mit der Collation?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: cast in query

  Alt 15. Jul 2011, 11:03
[Collation in Firebird]http://www.firebirdsql.org/refdocs/langrefupd21-ddl-collation.html[/URL]

Aber es geht wohl kein Weg daran vorbei, sich über den Feldinhalt einpaar Gedanken zu machen.
Wie sehen die Daten denn aus?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#8

AW: cast in query

  Alt 15. Jul 2011, 11:19
[Collation in Firebird]http://www.firebirdsql.org/refdocs/langrefupd21-ddl-collation.html[/URL]

Aber es geht wohl kein Weg daran vorbei, sich über den Feldinhalt einpaar Gedanken zu machen.
Wie sehen die Daten denn aus?

Gruß
K-H
hi k-h,
wenn das so einfach wäre.
Die Anforderung des Kunden ist nunmal , numerische und alphanumerische, sowie gemischte Artikelnummern zu vergeben.
Da helfen meine Gedanken, alphanumerische Werte nicht zuzulassen recht wenig
Also ist Artikelnummer vom tpye char.

Und jetzt das Ganze numerisch sortieren,
also 1,2,3,50,100, usw.
dazischen dann noch abc, abd usw.
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: cast in query

  Alt 15. Jul 2011, 11:48
Da gibt es wohl ein Verständnisproblem
Delphi-Quellcode:
01
 1
 1 a
  123
157a
157ab12
  34-99-1
ene "01" ist etwas anderes als eine "1" und wieder etwas anderes als eine " 1"
Vielleicht muß man den Kunden darauf hinweisen, daß das so nicht geht, oder ist vielleicht etwas anderes gemeint als in der DB steht?
(Seit es diese prop. Fonts für Eingabefelder gibt, ist TrimLeft mein liebster Befehl)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz