Zum Inhalt springen

Select ... from ... Where [INT-Feld] like %


patbone

Empfohlene Beiträge

Hallo,

ich habe folgendes Problem, ich muss in einem Programm einen Select ausführen und Startwerte im Programm sind like '%'. Das klappt wunderbar bei varchar-Felder, aber leider nicht bei INT-Feldern. Gibt es bei einem INT-Feld ein Wildcard-Operator?? Wenn nicht wie macht man das dann??

HILFE.......!? Anbei der Select.

Gruss

Patbone

SELECT TOP 100 PERCENT dbo.werk.w_id, dbo.werk.firma, dbo.werk.kostenstelle, dbo.personal.nachname, dbo.personal.vorname, dbo.personal.p_id,

dbo.hersteller.hersteller, dbo.modell.modell, dbo.hardware.seriennummer_imei, dbo.hardware.telefonnummer, dbo.hardware.mac_adresse,

dbo.kategorie.kategorie

FROM dbo.hardware INNER JOIN

dbo.modell ON dbo.hardware.m_id = dbo.modell.m_id INNER JOIN

dbo.hersteller ON dbo.modell.h_id = dbo.hersteller.h_id INNER JOIN

dbo.kategorie ON dbo.modell.k_id = dbo.kategorie.k_id INNER JOIN

dbo.personal ON dbo.hardware.p_id = dbo.personal.p_id INNER JOIN

dbo.werk ON dbo.personal.w_id = dbo.werk.w_id

WHERE (dbo.hersteller.hersteller = ' % ') AND (dbo.werk.kostenstelle = ' % ') AND (dbo.kategorie.kategorie = ' % ') AND (dbo.personal.nachname = ' % ') AND

(dbo.personal.vorname = ' % ') AND (dbo.modell.modell = ' % ') AND (dbo.hardware.seriennummer_imei = ' % ') AND (dbo.werk.w_id = ' % ') AND (dbo.personal.p_id = ' % ')

Link zu diesem Kommentar
Auf anderen Seiten teilen

Irgendwie verstehe ich noch nicht so recht, was du mit deiner Abfrage bezwecken möchtest (vielleicht noch zu früh :confused: ), aber bei den anderen Feldern selektierst du ja die Datensätze, wo bestimmte Felder mit einem Leerzeichen beginnen und mit einem Leerzeichen enden.

Wenn du jetzt sowas bei INT machen möchtest, hast du wohl "verloren", denn bei INT-Feldern wird nun mal wirklich nur die Zahl abgespeichert und sonst nichts.

Wenn ich dich jetzt falsch verstanden habe, dann erläutere dein Problem noch mal etwas genauer. Zum Beispiel weshalb du bei INT ein Wildcard benutzen möchtest.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Servus,

wie Magoo schon sagte, ein Wildcard bei Int macht keinen Sinn. Wie ähnlich soll der Int-Wert denn Deinem Int sein? Du kannst mit Vergleichsoperatoren <, >, <=, >= arbeiten. Die sollten doch ausreichen.

Wenn Du ein suboptimales Datenmodell hast und in den Int-Werten Werte gespeichert hast, die eigentlich keine Ints sind (z.B. Postleitzahlen), dann kannst Du Dir

1. auf die Stirn hauen und es beim nächsten Mal besser machen.

2. Mit einer convert-Funktion Deines DBMS arbeiten und Dein "Int" in ein char oder varchar umwandeln und bei diesem dann mit Wildcard arbeiten.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jetzt sehe ich erst dein "dbo." Dann ist es wohl ein MSSQL-Server!?

Gibt es da nicht sowas wie Fragezeichen? In Access kann man doch z.B. Fragezeichen benutzen um in Zahlen eine Stelle als Wildcard zu nehmen, geht das dann nicht auch unter SQL?

Das mit dem to_char wird da dann wohl nicht funktionieren(?) oder gibt es diesen Befehl auch unter MSSQL?

Link zu diesem Kommentar
Auf anderen Seiten teilen

der Select ist aus dem C++-Programm, natürlich sind keine Leerzeichen bei '%'. War ne lange Nacht.

Ich setze auf meinen Variablen (sql-WerkID)den Startwert auf '%' , somit suche ich, auch wenn in die EditFelder des Programmes nichts eingetragen wurde, nach allen Werten und nicht nach <LEER>.

CString Wildcard="\%";

CString sql_werkID=\%";

CString sql_hersteller="\%";

....WHERE (dbo.werk.w_id = ' % ')

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...