Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: bitwise or on column
Hi Stephan
"Stephan Bressler" <stephan.bressler_at_siemens.com> wrote in message news:<ah0r4e$a82$1_at_news.mch.sbs.de>...
> Hi all,
>
> I'm looking for a function doing a bitwise or on a column (number)
> containing permissions, e.g. 1=read, 2=write, 4=exec, ... (so 5 = exec+read
> permission).
> There are several rows per user and all permissions should be aggregated.
> The function should be used like
>
> select bitor(permissions)
> from acl
> where username='scott tiger';
select x,rtrim( decode(bitand(x,1),1,'read + ')|| decode(bitand(x,2),2,'write + ')|| decode(bitand(x,4),4,'exec + '),' + ')
X RTRIM(DECODE(BITAND(X,
--------- ---------------------- 1 read 2 write 3 read + write 4 exec 5 read + exec 6 write + exec 7 read + write + exec 8 9 read 10 write 11 read + write 12 exec 13 read + exec 14 write + exec 15 read + write + exec
15 rows selected.
> TIA
> Stephan
Stax Received on Wed Jul 17 2002 - 07:38:56 CDT