How is the bit-stream presented ? If it's a string, you could do something like:
select replace(replace('11010','1','11'),'0','00') from dual; Regards Jonathan Lewis http://www.jlcomp.demon.co.uk The educated person is not the person who can answer the questions, but the person who can question the answers -- T. Schick Jr One-day tutorials: http://www.jlcomp.demon.co.uk/tutorial.html Three-day seminar: see http://www.jlcomp.demon.co.uk/seminar.html ____UK___November The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html ----- Original Message ----- To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]> Sent: Tuesday, January 06, 2004 9:39 AM > Hi, > > Well, since I can't sleep, I may as well try solving a problem. > > This is a bit odd, and I'm trying to think of the most efficient way to do > it. I've set up some bitmaps in my app. Consider we have documents that > we want to sell. In order to be able to sell a given doc, we need to have it > stored in the vault and we also need to have negotiated the proper contract > w/ the publisher. So, I've got two bitmaps, STORAGE and PERMISSIONS. > > But, here's the hook. There are 8 different types of storage, so I have > an 8 bit mask. However, for every storage type, there are two types of > permission. So, I have a 16 bit permissions mask. > > What I'd like to do is take my 8-bit STORAGE mask, say it's 10110011 > and convert it to 1100111100001111. Note that all I did there was take > each bit in the input mask, and make the same value repeat. So, 0 would > become 00, 1 would become 11, 10 would become 1100. Does that make sense? > Once I've done that, I can take my STORAGE mask that's now stretched to 16 > bits, and directly AND it with my PERMISSIONS mask. > > So, my question is: Is there a nice, scalable way to take my 8 bits and > expand them into 16 bits, in the way that I'm describing? A clever bit > twiddling expression would be perfect, but anything that's efficient and > scalable will do. (The end product will be hidden behind a view or stored > procedure.) > > Any thoughts, anyone? > > Thanks in advance, > > -Mark > -- > Please see the official ORACLE-L FAQ: http://www.orafaq.net > -- > Author: Bobak, Mark > INET: [EMAIL PROTECTED] > > Fat City Network Services -- 858-538-5051 http://www.fatcity.com > San Diego, California -- Mailing list and web hosting services > --------------------------------------------------------------------- > To REMOVE yourself from this mailing list, send an E-Mail message > to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in > the message BODY, include a line containing: UNSUB ORACLE-L > (or the name of mailing list you want to be removed from). You may > also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Jonathan Lewis INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).