[MSSQL] Decimal to binary to varchar

Pagina: 1
Acties:

  • Pepper
  • Registratie: Februari 2002
  • Laatst online: 19-06-2025

Pepper

The one and only!!

Topicstarter
Ik zoek een manier om een decimale waarde (alleen: 0 t/m 255) om te zetten naar een binaire waarde. Dit in MS SQL aangezien ik binnen sql hier bewerkingen mee wil doen.

Ik weet: het kan met CAST([waarde] as binary)
maar dan krijg ik een waarde zoals: 0x00000 als resulaat.

Ik wil juist de waarde van de 8 bits om bijvoorbeeld 2 er zo uitkrijgen: 00000010
en deze moet dan weer een varchar waarde worden.

iemand een ideetje? :)

dus...


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Je wilt de presentatie veranderen. 210 is namelijk hetzelfde als 000000102, alleen de notatie is anders.
Welke bewerking wil je uitvoeren dan? Ik gok dat je de verkeerde richting uit denkt.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Waarom moet je per se een stringrepresentatie van een binaire presentatie (2x het woord "presentatie" in één zin klinkt al erg fout :P) gebruiken? Je kan toch op de gebruikelijke manieren checken of één bit hoog of laag is?
SQL:
1
SELECT 0x04 & jouwveld FROM tabel

Ervanuitgaande dat MS SQL de bitwise AND (&) operator ondersteunt kun je met die code checken of bit 2 (het derde bit van rechts) 1 of 0 is. Daar moet je toch ook mee kunnen wat jij wil?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
^^
MSSQL ondersteunt de AND (&) operator iig wel ;)

[ Voor 39% gewijzigd door RobIII op 09-10-2006 15:58 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Pepper
  • Registratie: Februari 2002
  • Laatst online: 19-06-2025

Pepper

The one and only!!

Topicstarter
Ik ben aan het vogelen met een recurrence verhaal voor het kiezen van de dagen van de week.
(zoals dat van bijvoorbeeld een weekelijkse planning in je outlook agenda op verschillende dagen)

Dus voor iedere dag kan ik de waarde opslaan of deze geselecteerd is, maar dan krijg je meerdere rows in je tabel waardoor deze flink kan gaan groeien.

Dus die kan ik ook als een 8bit waarde opslaan (elke bit vertegenwoordigt een dag) dus: bijvoorbeeld ik selecteer maandag..dit repesenteerd als binaire waarde: 00000010 wat de decimale waarde 2 heeft.

Stel ik zou maandag en zondag selecteren: 10000010 is decimale waarde 130.
etc. :)

Ik wil dit allemaal laten regelen via een sql functie waardoor ik naar mijn inzien daar in de binaire code als een char oid inlees. Die ik vervolgens uit elkaar trek en vervolgens te kijken welke dagen geselecteerd zijn.

dus...


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

In dat geval moet je dus de binaire operator AND gebruiken. Zie de post van RobIII. Als je je daar even inleest, moet je daar wel uit kunnen komen :)

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Kwestie van wat puzzelen met bitmasks ;) Met wat and-en en or-en moet je een heel eindkomen dan.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Pepper
  • Registratie: Februari 2002
  • Laatst online: 19-06-2025

Pepper

The one and only!!

Topicstarter
Joepie, zat ik net op te wachten ;)

Maar goed iig bedankt voor input! ik weet iig weer waar ik moet zoeken :P

dus...


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
P3PP3R schreef op maandag 09 oktober 2006 @ 16:13:
Joepie, zat ik net op te wachten ;)
Zo moeilijk is het ook weer niet..

SQL:
1
where myfield & (0x1 + 0x4 + 0x10) > 0

Voor bit 1, 3 of 5 0, 2 of 4 :X...

[ Voor 6% gewijzigd door RobIII op 09-10-2006 16:48 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1