如何在oracle pl/sql中获取整数的位字符串长度?
如何在Oracle的PL/SQL中计算整数的位长度如何在oracle pl/sql中获取整数的位字符串长度?,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,如何在Oracle的PL/SQL中计算整数的位长度 我希望得到类似于将INT转换为位字符串,然后将LTRIMBIT字符串的长度“0”您可以使用以下公式获得整数n>0的二进制表示形式的字符数: 哇,我没想到这会这么简单;]数学没有它你活不下去,啤酒也不够。 ceil(log(2, n + 1)) SQL> SELECT n, ceil(log(2, n + 1)) num_of_char 2 FROM (SELECT ROWNUM n FROM dual CONNECT BY L
我希望得到类似于将INT转换为位字符串,然后将LTRIMBIT字符串的长度“0”您可以使用以下公式获得整数n>0的二进制表示形式的字符数:
哇,我没想到这会这么简单;]数学没有它你活不下去,啤酒也不够。
ceil(log(2, n + 1))
SQL> SELECT n, ceil(log(2, n + 1)) num_of_char
2 FROM (SELECT ROWNUM n FROM dual CONNECT BY LEVEL <= 64);
N NUM_OF_CHAR
---------- -----------
1 1
2 2
3 2
4 3
5 3
6 3
7 3
8 4
[...]
15 4
16 5
[...]
31 5
32 6
[...]
63 6
64 7