thekbrothers Geschrieben 19. Mai 2005 Geschrieben 19. Mai 2005 Hallo! Habe eine Frage: Ich hab hier ne Datenbank im Geschäft. Möchte ne Abfrage machen, die auch ein Char-Feld beinhaltet. Ich möchte mit diesem Feld rechnen, also z. B. größer wie 10 oder between 20 und 100. geht das oder muss ich den datentyp als int bzw. float deklarieren? mfg stefan Zitieren
zirri Geschrieben 19. Mai 2005 Geschrieben 19. Mai 2005 prinzipiell schonmal gut, dass Du uns verraetst um was fuer eine DB es sich handelt. Naja, egal, auf einer Oracle zb. gibt es function zum konvertieren (to_number()) aber: ich wuerde das DbModell anpacken und die Spalte umstellen... gruss Zitieren
SNOWMAN Geschrieben 19. Mai 2005 Geschrieben 19. Mai 2005 ist to_number oraclespezifisch? ich dacht des wär im standardsql drin... aber im grunde ja, dein Datenbanksystem hat ne funktion die dir n wert zu ner zahl konvertiert, damit gehts. die spalteneigenschaft zu ändern ist eher ne notlösung, ggf. sind sogar textwerte drin die diese umstellung unmöglich machen. Zitieren
thekbrothers Geschrieben 19. Mai 2005 Autor Geschrieben 19. Mai 2005 für die Antworten. Das System ist ein DB2 Table Zitieren
Goos Geschrieben 19. Mai 2005 Geschrieben 19. Mai 2005 die spalteneigenschaft zu ändern ist eher ne notlösung, ggf. sind sogar textwerte drin die diese umstellung unmöglich machen. Oh, waerst bitte so nett, das naeher zu erlaeutern? Ich kann mir nicht vorstellen, warum das eher einer Notloesung sein sollte. Goos Zitieren
Aquano Geschrieben 20. Mai 2005 Geschrieben 20. Mai 2005 erst lesen dann posten hier stand müll *fg Zitieren
Fragezeichen Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 Bei einer DB2 gehts so: select dec(alphafeld) from Dateixxx where alphafeld = 1 Grüßchen Zitieren
AxlHammer Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 Hallo zusammen, Oh, waerst bitte so nett, das naeher zu erlaeutern? Ich kann mir nicht vorstellen, warum das eher einer Notloesung sein sollte. Goos Ich denke mal, dass Snowman meinte, wenn man mit dem Feld rechnen will und es stehen vielleicht Buchstaben drin, gibt das Probleme. Daher sollte man, wenn denn nur Zahlen in der Spalte stehen sollen, auch einen entsprechenden Datentyp wählen. Gruß, Axl Zitieren
Fragezeichen Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 hab das mal vorausgesetzt das in dem Alpha Feld keine Buchstaben stehen. Zitieren
thekbrothers Geschrieben 24. Mai 2005 Autor Geschrieben 24. Mai 2005 das feld enthält ein briefdatum im format jhjj-mm-tt und ich möchte das feld counten. klappt des dann wirklich? Zitieren
Fragezeichen Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 willst nur dieses eine Feld zusammenzählen? Also 2005-12-24 soll 2041 ergeben???? oder 05242005 steh gerade auf dem schlauch Variante für 2041: select dec(substr(potst, 1, 4)) + dec(substr(potst, 6, 2) + dec(substr(potst, 9, 2) from test1 Variante das aus dem 2005-12-24 der 24122005 wird select dec(substr(potst, 1, 4))+ (dec(substr(potst, 6, 2))*10000) + (dec(substr(potst, 9, 2)) * 1000000) from test1 Grüßchen Zitieren
IJK Geschrieben 24. Mai 2005 Geschrieben 24. Mai 2005 Ein Datumsfeld counten? Wieviele Briefe pro Monat oder so? Dazu musst du eine Group-Funktion wählen... Aber ähnlich wie Fragezeichen bleibt mir dein Problem unklar. Ach ja, ein Datumsfeld wäre in einem Datumsfeld besser aufgehoben als in einem Alpha oder Nummerischen Feld Zitieren
Aiun Geschrieben 25. Mai 2005 Geschrieben 25. Mai 2005 Übliche Frage: "was" willst du machen, was für daten sind da drin, um was für eine Art programm geht es ? beispiel bitte ^^ Zitieren
SNOWMAN Geschrieben 25. Mai 2005 Geschrieben 25. Mai 2005 Oh, waerst bitte so nett, das naeher zu erlaeutern? Ich kann mir nicht vorstellen, warum das eher einer Notloesung sein sollte. Goos Ich denke mal, dass Snowman meinte, wenn man mit dem Feld rechnen will und es stehen vielleicht Buchstaben drin, gibt das Probleme. Daher sollte man, wenn denn nur Zahlen in der Spalte stehen sollen, auch einen entsprechenden Datentyp wählen. Gruß, Axl Ja, das was AxlHammer meint ist unteranderem ein Grund dafür. Ein weitere Grund ist, wenn du eine Datenbank hast auf die mehrere User zugreifen (die du ggf. nichtmal kennst) und dann was an der Tabellenstruktur änderst kannst du Programme killen die auf diese Werte zugreifen. Wenn irgendein Programm X auf die Spalte zugreift und Textspezifische Operationen durchführt wie das ersetzen von Umlauten oder das entfernen von Zeilenumbrüchen dann trittst du dem Entwickler von dem Programm ganzschön in den ... du weist schon ... wenn du mal aus ner Textspalte ne Zahlenspalte machst. Zudem gab es aj sicher einen Grund, wieso man damals beim Entwickeln und Erstellen der DB einen Zahlentyp gewählt hat. Wenn das nun ne Datenbank ist wo du auch weißt das da niemand ist der noch drauf zugreift, bzw. ein zwei Kollegen die neben dir sitzen und die du bezüglich dem umbau der DB fragen kannst obs klar geht, dann isses ja ok wenn du die struktur änderst, aber sonst würd ich mir das 10 mal mit autogramm vom chef geben lassen das ich das darf! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.