SQL String bis Zeilenumbruch auslesen

Schnipp

Lt. Commander
Registriert
Feb. 2004
Beiträge
1.141
Tach zusammen,

möchte folgendes erreichen:

in einer Datenbank sind in einer Spalte vom Typ text verschiedene Einträge hinterlegt (Name des Benutzers, der zuletzt auf diesen Datensatz zugegriffen hat und das ensprechende Datum).

Nun soll in einer vereinfachten Auflistung nur das zuletzt gespeicherte Datum angezeigt werden. Der Eintrag sieht in etwa so aus:

Code:
Vorname Nachname (05.07.2009)<br> ...

Wie erreiche ich nun, dass nur das Datum ausgelesen wird? Ich habe leider keine Idee. Habe schon mal eine Lösung mit INSTR gedacht, aber auch fehlt mir der Ansatz.

Gruß Schnipp
 
Mit strpos könntest du die beiden Klammern suchen und dann die dazwischenliegenden Zeichen mit substr ausgeben.
PHP:
<?php

  $str = "text (01.01.2001) text";
  $anfang = strpos($str,"(") + 1;
  $ende = strpos($str,")") - 1;

  echo substr($str, $anfang, ($ende-$anfang));

?>
 
Zuletzt bearbeitet:
Du sagst leider nichts darüber, um welche Datenbank es sich handelt...
Ich dachte da an sowas ähnliches wie (Oracle):
Code:
substr(text, instr(text, '(', -1), instr(text, ')', -1) - instr(text, '(', -1) - 1)
Bin mir jetzt nicht sicher, ob man auf die erste Position noch 1 draufaddieren muss...

LG Ben
 
Sorry, hatte ich glatt vergessen :rolleyes:

Es handelt sich um eine SQL-Datenbank und die Programmiersprache ist ASP.
 
Ich würde dir eher empfehlen, die Datenbank richtig zu designen, Stichwort Normalisierung.
Sollte das wirklich nicht möglich sein, so würde ich den Datensatz holen und in ASP bearbeiten und das nicht über die Datenbank lösen. Dort kann man das wohl shcon über regular expressions rausholen.
 
Genau das habe ich ja vor. Den Datenbankzugriff bekomme ich von jemandem, ich kann an der DB an sich eh nichts ändern.

Ich will das Ganze ja in ASP realisieren, aber ich weiß ja eben nicht wirklich wie!
 
Zurück
Oben