php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.01.2006, 20:59  
Gast
 
Beiträge: n/a
Standard [Erledigt] 204 077 15-4 in DB mit WHERE als 204077154 abfragen

Ich weiß nicht recht wonach ich suchen soll, darum finde ich im Forum nichts.

Ich möchte ein Feld abfragen das identnummer heißt und z.b. 204 077 15-4 darin stehen hat. Das Format ist IMMER xxx xxx xx-x.

Ich möchte so abfragen das eine übergebene Variable namens $id mit dem Wert xxxxxxxxx mit dem Feld verglichen wird, müsste also in der Abfrage die Leer-, und das - Zeichen loswerden.

Wie lautet der SQL-Befehl für so etwas? oder muss ich das mit CONCAT und SUBSTR lösen?

Any help appreciated.

lg, catweazle
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.01.2006, 21:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wird nicht gern gehört, aber die Tabellenstruktur sollte den Daten angepasst werden, nicht umgekehrt
Mit MySQL kann ich dir leider auch nicht helfen, vielleicht kannst du aber ja mit PHP schon den String so formatieren wie du ihn haben willst (aber warte besser andere Lösungsvorschläge ab )
Zergling-new ist offline   Mit Zitat antworten
Alt 23.01.2006, 21:08  
Gast
 
Beiträge: n/a
Standard

schon klar, ich kann natürlich auch die Zahl, die ich habe umfummeln, das Problem ist nicht wirklich unlösbar für mich, wie gesagt, CONCAT und SUBSTR, aber ich hätte gerne was elegantes gelernt, statt was hölzernes zu basteln. Mir langt ja schon ein Befehl, rausfummeln kann ich den anhand der Online-TUTs schon auch selbst. Problem ist nur, wie sucht man etwas, das man nicht kennt.

EDIT: SUBSTRING mein ich nat.

Code:
SELECT * FROM jobs WHERE CONCAT( SUBSTRING(nr,1,3),SUBSTRING(nr,5,3),SUBSTRING(nr,9,2),SUBSTRING(nr,12,1) ) = "204077154";
sieht halt blöd aus
  Mit Zitat antworten
Alt 23.01.2006, 21:55  
Erfahrener Benutzer
 
Registriert seit: 21.01.2005
Beiträge: 444
stf.stream
stf.stream eine Nachricht über ICQ schicken
Standard

nr = $id;
Code:
REPLACE(REPLACE(nr, '-',''), ' ','')

mfg
__________________
stf.
stf.stream ist offline   Mit Zitat antworten
Alt 23.01.2006, 22:13  
Gast
 
Beiträge: n/a
Standard

ey subba - herzglühlichsten Dank - das iss doch mal n ganz anderes Bild
  Mit Zitat antworten
Alt 23.01.2006, 22:44  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Musst du die Ersetzung bei der Zeichenkette vornehmen, mit der du vergleichen willst oder bei den Daten, die in der Datenbank stehen?
xabbuh ist offline   Mit Zitat antworten
Alt 24.01.2006, 11:47  
Neuer Benutzer
 
Registriert seit: 06.10.2005
Beiträge: 25
Tentacle
Tentacle eine Nachricht über ICQ schicken
Standard

Um den Kommentar von zergling nochmal aufzugreifen:

Wenn Du die Abfrage so machst (also mit SUBSTRING, CONCAT oder REPLACE), ist jeder gesetzte Index hinfällig.
Formatier doch einfach die ID in PHP um und mach dann die Datenbankabfrage.
Tentacle ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
erweiterte abfrage - where DarkManX Datenbanken 2 02.02.2007 17:14
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
Mehrere Werte in WHERE abfrage McNet Datenbanken 6 23.04.2006 02:06
SELECT WHERE datetime abfrage - Optimierung mrSpok Datenbanken 15 23.03.2006 19:08
[Erledigt] nach NULL abfragen / where bedingung Datenbanken 3 13.03.2006 16:44
where in? bzw. feld auf inhalte überprüfen...? Datenbanken 3 12.02.2006 16:00
[Erledigt] WHERE problem Datenbanken 5 12.06.2005 15:54
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
Geschachtelte Where Abfragen Datenbanken 13 04.02.2005 14:22
[Erledigt] Abfragen, aber wie? Datenbanken 4 27.01.2005 20:21
Nur bestimmte Felder auslesen (forum_id) Datenbanken 10 22.10.2004 09:19
Möchte 2 Abfragen erstellen und bei richtiger Antwort eine PHP Tipps 2004 2 18.10.2004 08:48
Problem mit dem WHERE Befehl PHP Tipps 2004 5 08.07.2004 00:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
concat replace abfragen, 077 15

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.