![]() |
Datenbank: MSSQL Sever • Version: 2008 • Zugriff über: ADO
Werte in einem Datenbankfeld prüfen?
Hallo!
Ich habe mit den Datenbanken bis jetzt nur sehr selten etwas gemacht und das waren auch ganz simple Sachen. Nun habe ich ein Datenbankfeld vom Typ varchar, das kommagetrennte Zahlenwerte enthält und muss beim SELECT prüfen, ob bestimmte Zahlenwerte in diesem Feld vorhanden sind. Z.B. hier das Inhalt des Feldes: 25,11,144,108,115,6,34. Ich muss prüfen, ob die Werte 144, 28 und 136 drin sind. Wie mache ich das? |
AW: Werte in einem Datenbankfeld prüfen?
Ist die DB-Struktur von Dir? Falls ja, dann ändere sie, kommaseparierte Werte in einem Feld lassen so gut wie immer auf schlechtes Design (unzureichende Normalisierung) schließen.
|
AW: Werte in einem Datenbankfeld prüfen?
Ist es gegeben dann prüfe wie folgt
Code:
Jetzt kannst du das erweitern, dass er auch die anderen Werte prüft
where Feld like "144,%" or Feld like "%,144,%" or Feld like "%,144"
|
AW: Werte in einem Datenbankfeld prüfen?
Und damit würde er auch 1144, 2144 usw. ermitteln.
|
AW: Werte in einem Datenbankfeld prüfen?
Zitat:
|
AW: Werte in einem Datenbankfeld prüfen?
Brille nicht geputzt, ich hab da ein "%" gesehen, wo keins war :mrgreen:. Nichtsdestotrotz ist das mehr als suboptimal, an seiner Stelle würde ich mit dem DB-Designer mal ein ernstes Wort reden (falls er es nicht selbst ist).
|
AW: Werte in einem Datenbankfeld prüfen?
Vielen Dank für die schnelle Raktionen!
Zitat:
Wie soll ich es wieder gut machen? Soll ich am besten für jede Zahlenwert eins Feld erstellen, wenn ich eine alle möglichen Zahlenwerte kenne? Denn genau das wollte ich vermeiden. Ich habe 155 Werte, für die ich dann jeweils einen Feld erstellen muss. |
AW: Werte in einem Datenbankfeld prüfen?
Ich stimme dir ja zu, was das Design angeht, aber manchmal hat man da Null Einfluß drauf ;)
|
AW: Werte in einem Datenbankfeld prüfen?
Zitat:
|
AW: Werte in einem Datenbankfeld prüfen?
Richtig, evtl. dann noch die Kombination dieser beiden Felder als UNIQUE oder gleich als PrimaryKey definieren, das sorgt für Eindeutigkeit (sofern gewünscht, ich kenne ja die Anforderung nicht).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz