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, 1053 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
Entwicklung
gelöst SQL Abfrage Zeit: JETZT - 30 Sekunden (17)

Frage von Andinistrator1 zum Thema Entwicklung ...

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 ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (52)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...