Benutzer mit den meisten Antworten
was ist hier falsch?

Frage
-
Hallo, ich möchte eine Hexadezimalzahl innerhalb einer anderen Hexadezimalzahl durchsuchen:
declare @Zahl int @Zahl = select Werte from pat where pat = @PAT_1 if (@Zahl and &H0100000 = &H0100000)) --Hier soll der &H0100000 von dem gesamten Wert subtrahiert werden @Zahl = @Zahl-&H0100000 end update pat set = Wert = @Zahl
Irgendwie kommt ein Fehler, was habe ich da falsch gemacht?Danke für jeden Tipp
Antworten
-
Hallo,
da ist so ziemlich alles falsch. Hex-Werte werden nicht mit Präfix &H sondern mit 0x dargestellt; Werte mit && und nicht mit AND, Variablen mussen mit SET zugewiesen usw.
So geht es:
declare @Zahl int
SET @Zahl = 0x1100000
if (@Zahl & 0x0100000) = 0x0100000
BEGIN
--Hier soll der &H0100000 von dem gesamten Wert subtrahiert werden
SET @Zahl = @Zahl - 0x0100000
PRINT 'Passt'
END
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert Robert BreitenhoferModerator Freitag, 25. März 2011 16:52
-
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 25. März 2011 16:52
Alle Antworten
-
Hallo,
da ist so ziemlich alles falsch. Hex-Werte werden nicht mit Präfix &H sondern mit 0x dargestellt; Werte mit && und nicht mit AND, Variablen mussen mit SET zugewiesen usw.
So geht es:
declare @Zahl int
SET @Zahl = 0x1100000
if (@Zahl & 0x0100000) = 0x0100000
BEGIN
--Hier soll der &H0100000 von dem gesamten Wert subtrahiert werden
SET @Zahl = @Zahl - 0x0100000
PRINT 'Passt'
END
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert Robert BreitenhoferModerator Freitag, 25. März 2011 16:52
-
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 25. März 2011 16:52