Tabelle auf bestimmtes Bit in numerischem Ausdruck prüfen

SG_wXistenZ

Mitglied
Hi all,

ich habe eine Tabelle mit zwei Spalten.
#Tabelle: IOwerte
#Spalte 1: TimeStamp
#Spalte 2: iowert

Der io-Wert ist ein 32-bitmuster als Integer gespeichert. Nun muss ich eine Abfrage basteln, die mir alle Records ausgibt, bzw. zählt, bei denen im Feld io-Wert ein bestimmtes bit gesetzt ist.

Beispiel-Tabelle:
TimeStamp IOwert
00000000001 1
00000000002 2
00000000003 3
00000000003 4
00000000003 5
00000000003 1

SELECT welche DS das Bit 1 gesetzt haben

Nach dem Select muss unbedingt folgendes rauskommen:
00000000001 1
00000000003 3
00000000003 5
00000000003 1

bzw. bei einem Count dann das hier:
anzahl
4

Wer weis schnelle Hilfe?
LG D12
 
Witzbold.... *hrmpf*

Wenn das so einfach wäre hätt ich das nicht gepostet...

Es kann durchaus sein das die Zahl in iowert 3 lautet. Dann wären BIT 1 und Bit 2 gesetzt. Wie mach ich da eine Abfrage, die nur die Werte filtert in denen Bit 1 gesetzt ist.

Beispiel
iowert
1 (BIT1)
2
3 (BIT1)
4
5 (BIT1)
6
7 (BIT1)
8


LG D12

XChris hat gesagt.:
Schnelle Hilfe is hier:

Bitoperatoren & MySQL

Der Bitoperator & sollte Dir helfen

Also so (wenn ich mich richtig erinnere):

SELECT ... FROM where Spalte_mit_Werten & GESUCHTES_Bit

Chris
 
Sorry, das mit dem Bitoperator hatte ich im eifer überlesen... *schäm*
Klar, so ist es einfach... Danke... Wusst nicht das mysql die so einsetzt...
 
Zurück