Entwickler-Ecke
Datenbanken - SQL: Bits löschen/setzen mit Masken?
JVS - Do 20.08.09 10:23
Titel: SQL: Bits löschen/setzen mit Masken?
Hallo alle zusammen,
um in einem Integer einzelne Bits zu setzen/löschen, nutze ich
normalerweise folgendes:
Wert := Wert OR Maske (zum Setzen)
Wert := Wert AND NOT Maske (zum Löschen)
Kann ich das in einem SQL-Statement unterbringen,
um in einem Rutsch eine komplette Tabelle zu aktualisieren?
Bisher muß ich jeden Datsatz einzeln per Tippeltappel (WHILE NOT tab.eof ...) anfassen.
AND, OR und NOT haben ja in SQL eine andere Wirkung.
Gibt es so was wie Bitmaskenbefehle im Standard-SQL?
mkinzler - Do 20.08.09 10:29
Ja
SQL-Anweisung
1:
| update <Tabelle> set <Feld> = :wert where <Bedingung>; |
JVS - Do 20.08.09 10:42
Hi mkizler,
also ich möchte, dass etwas in der Art
SQL-Anweisung
1:
| Update <Tabelle> Set <Feld> = <Feld> OR Bitmaske |
funktioniert wie innerhalb von Delphi:
das OR nicht als "SQL-OR" sondern als Bitoperation.
Das seh ich bei deinem Vorschlag jetzt noch nicht, oder?
Narses - Do 20.08.09 10:44
Moin!
JVS hat folgendes geschrieben : |
AND, OR und NOT haben ja in SQL eine andere Wirkung.
Gibt es so was wie Bitmaskenbefehle im Standard-SQL? |
Also zumindest MySQL kennt natürlich auch Binäroperatoren. Ob dir das was nutzt, hängt davon ab, welches DBMS du nutzt. :nixweiss: Würde mich aber wundern, wenn ein aktuelles DBMS sowas nicht könnte... :?
cu
Narses
Nersgatt - Do 20.08.09 10:52
Firebird kennt ab 2.1 z.B. BIN_OR
JVS - Do 20.08.09 10:52
Habe über ADO / Jet 4.0 OLEDB eine Accessdatenbank am Wickel.
Gibt es da was in der Richtung?
Narses - Do 20.08.09 11:53
Moin!
AFAIK werden die SQL-Statemants direkt an Access weitergereicht, da passiert im ODBC-Treiber weiter nix. Deshalb: schonmal in der Access-Hilfe geschaut, ob/wie man das macht, dann das entsprechende SQL-Statement generieren lassen. :idea:
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!