Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SQL Abfrage mit Platzhaltern

Frage Entwicklung Datenbanken

Mitglied: as.siggi

as.siggi (Level 1) - Jetzt verbinden

02.09.2014, aktualisiert 13:29 Uhr, 1032 Aufrufe, 10 Kommentare

Hallo,

ich komme bei einem Problem leider nicht weiter. Ich habe eine Datenbank und darin eine Tabelle wo ich Zahlen abspeichere, nun soll nach diesen Zahlen gesucht werden. Dies ist ja einfach und klappt auch wunderbar.
Nun muss ich auch Zahlen mit Platzhalter in die Tabelle einfügen( ungefähr so 1494##) also, dass ich eine Abfrage mit einer bestimmten Zahl mache und diese Datensätze auch ausgegeben werden. Z.B. 1494## soll herauskommen wenn 149401, 149402, usw. in der Abfrage übergeben wird.

  1. als Platzhalter für alle möglichen Zahlen (kann auch ein anderes Zeichen sein)

Mit freundlichen Grüßen Alex
Mitglied: LianenSchwinger
02.09.2014 um 13:35 Uhr
Hallo Alex,

das geht nicht. Wenn die Datenspalte als NUMBER deklariert ist können auch nur Zahlen gespeichert werden.
Dein Anliegen ginge nur zu realisieren wenn Du die Spalten als CHAR deklarierst.

G Jörg
Bitte warten ..
Mitglied: emeriks
02.09.2014, aktualisiert um 14:04 Uhr
Hi,
sofern die Zahlen eine feste Länge haben, wäre das doch eine klassische Von-Bis-Abfrage, oder nicht?

"1494##" bedeutet doch nichts anderes als ">=149400 und <149500".

Also z.B.

01.
SELECT * 
02.
FROM Tabelle 
03.
WHERE Zahl >= 149400 AND Zahl < 149500
E.
Bitte warten ..
Mitglied: as.siggi
02.09.2014 um 14:03 Uhr
Hallo Jörg

das ist klar, dass ich nicht als INT abspeichere sondern als VARCHAR(6).

MfG Alex
Bitte warten ..
Mitglied: emeriks
02.09.2014 um 14:05 Uhr
Na dann mit LIKE

01.
SELECT * 
02.
FROM Tabelle 
03.
WHERE Zahl LIKE '1494%'
E.
Bitte warten ..
Mitglied: as.siggi
02.09.2014 um 14:06 Uhr
Hallo emeriks

nein eben nicht, da ich ja nicht die genaue Zahl in der Datenbank habe sondern nur die Zahl mit den Platzhaltern und die genaue Zahl von außen übergeben bekomme.

MfG Alex
Bitte warten ..
Mitglied: emeriks
02.09.2014 um 14:08 Uhr
Wie jetzt?
Du hast in der DB z.B. "1494##" stehen und willst nach z.B. "149411" suchen und dann dafür denn Datensatz mit "1494##" in der Ausgabe haben?

E.
Bitte warten ..
Mitglied: SlainteMhath
02.09.2014 um 14:08 Uhr
Moin,

das geht nur wenn du das "Muster" nachdem gesucht wird als Intervall oder Liste angeben kannst,
1494## entspricht z.b. 149400 bis 149499
1#9400 entspricht z.b. 119400, 129400, 139400 usw.

Wenns komplexer wird, müsstest du tatsächlich die Zahlen als (var)char abspeichern und mit entsprechenden (regulären) Ausdrücken durchsuchen.

Ggfs. kannst du aber auch die gespeicherte Zahl direkt in WHERE Klausel in einen varchar umwandeln und entsprechend filtern... aber performant ist das dann nicht mehr,

lg,
Slainte
Bitte warten ..
Mitglied: as.siggi
02.09.2014 um 14:37 Uhr
Moin,

also muss ich wohl oder über eine "von bis" Lösung verwenden und dann mit BETWEEN abfragen. Ist zwar nicht das was ich mir vorgestellt habe, aber wenn nicht anders geht.

MfG Alex
Bitte warten ..
Mitglied: MadMax
02.09.2014 um 17:53 Uhr
Hallo Alex,

welche Datenbank verwendest Du?
Und wie sollen die Abfragen genau aussehen? In der DB sind anscheinend die Zahlen mit Platzhaltern, und wie suchst Du, nach genauen Zahlen oder auch mit Platzhaltern? Wenn Du nach genauen Werten suchst, würde das mit SQL Server z.B. so aussehen:
01.
select * from Tabelle where '149401' like replace (Spalte, '#', '_')
Anmerkung 1: Für die Geschwindigkeit gebe ich keine Garantie.
Anmerkung 2: Wenn Du als Platzhalter gleich den Unterstrich nimmst, dann sparst Du Dir das replace.

Wenn Du auch mit Platzhaltern suchen willst, dann dürfte das nicht so einfach gehen.

Gruß, Mad Max
Bitte warten ..
Mitglied: as.siggi
04.09.2014 um 19:26 Uhr
Hallo

Ich werde jetzt eine komplexere "von-bis" Lösung verwenden.

Danke trotzdem!
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage mit "kleiner gleich" funktioniert nicht (2)

Frage von derSESO zum Thema Datenbanken ...

Datenbanken
gelöst SQL Abfrage - Ausgabe von Person mit Privat- und Dienstadresse (3)

Frage von CBruns zum Thema Datenbanken ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows Systemdateien
Windows 7 und 10 herunterfahren Knopf mit Script belegen (21)

Frage von c-o-o-p-e-r92 zum Thema Windows Systemdateien ...

Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (16)

Frage von Zockervogel zum Thema Router & Routing ...