SQL-Abfrage - how2do
Hallo liebe Gemeinde,
ich habe da ein kleines Prob mit einer Abfrage (MSSQL2005).
Ich möchte:
SELECT *
FROM DOKUMENT
WHERE (NOT (DICKE = 1)) AND
WHERE (NOT (DICKE = 5))
jedoch gibt er mir hier kein Ergebniss raus, Hinweis Fehler in Nähe von der Where-Klausel.
(Ich möchte ein varchar-Feld in Float ändern, das lässt er jedoch nicht zu. Ich denke das hier NichtZahlen in der Spalte Dicke sind. Evtl. kann man es auch anders lösen?!?!)
How2do???
Thanks4help !
ich habe da ein kleines Prob mit einer Abfrage (MSSQL2005).
Ich möchte:
SELECT *
FROM DOKUMENT
WHERE (NOT (DICKE = 1)) AND
WHERE (NOT (DICKE = 5))
jedoch gibt er mir hier kein Ergebniss raus, Hinweis Fehler in Nähe von der Where-Klausel.
(Ich möchte ein varchar-Feld in Float ändern, das lässt er jedoch nicht zu. Ich denke das hier NichtZahlen in der Spalte Dicke sind. Evtl. kann man es auch anders lösen?!?!)
How2do???
Thanks4help !
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 55924
Url: https://administrator.de/contentid/55924
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
3 Kommentare
Neuester Kommentar
Moin Ravers,
Wenn das so ist, würde ich grundsatzlich über die Sinnhaftigkeit der Tabellenstruktur nachdenken brziehungsweise darüber, wie ich von den Benutzern verwertbare Eingaben erzwingen kann.
Wenn es denn tatsächlich so sein sollte wie beschrieben, dann müsstest Du eigentlich zwei Sachverhalte abprüfen:
1) Ist der Inhalt numerisch?
2) Falls ja, ist es 1 oder 5?
Das würde einem
..entsprechen. Das sieht aber nicht nur shice aus, sondern kann auch nur zum gewünschten Ergebnis führen, wenn in dem Feld DICKE nur (von Leerzeichen abgesehen) "1" ode "5" enthalten ist.
Also weder "1.5" noch "5 cm" oder ähnliches.
In diesem Fall kannst Du aber sinnvoller pi314's Statement leicht variiert übernehmen.
Ich verschiebe den Beitrag mal von "Entwicklung" nach "Datenbanken".
Gruß
Biber
Ich möchte ein varchar-Feld in Float ändern, das lässt er jedoch nicht zu.
Ich denke das hier NichtZahlen in der Spalte Dicke sind.
Ich denke das hier NichtZahlen in der Spalte Dicke sind.
Wenn das so ist, würde ich grundsatzlich über die Sinnhaftigkeit der Tabellenstruktur nachdenken brziehungsweise darüber, wie ich von den Benutzern verwertbare Eingaben erzwingen kann.
Wenn es denn tatsächlich so sein sollte wie beschrieben, dann müsstest Du eigentlich zwei Sachverhalte abprüfen:
1) Ist der Inhalt numerisch?
2) Falls ja, ist es 1 oder 5?
Das würde einem
SELECT *
FROM DOKUMENT
WHERE isNumeric( Dicke) AND (cast(dicke as float) in (1, 5))
Also weder "1.5" noch "5 cm" oder ähnliches.
In diesem Fall kannst Du aber sinnvoller pi314's Statement leicht variiert übernehmen.
SELECT Dokument.*, fltDicke as cast(DICKE as float)
FROM DOKUMENT
WHERE (DICKE in ("1", "5"));
Gruß
Biber