Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SQL Abfragen

Empfohlene Antworten

Veröffentlicht

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

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

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.

für die Antworten.

Das System ist ein DB2 Table

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

erst lesen dann posten ;)

hier stand müll *fg

Bei einer DB2 gehts so:

select dec(alphafeld) from Dateixxx where alphafeld = 1

Grüßchen

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

hab das mal vorausgesetzt das in dem Alpha Feld keine Buchstaben stehen.

das feld enthält ein briefdatum im format jhjj-mm-tt und ich möchte das feld counten. klappt des dann wirklich?

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

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 ;)

Übliche Frage: "was" willst du machen, was für daten sind da drin, um was für eine Art programm geht es ?

beispiel bitte ^^

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!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.