计算列中的位数

时间:2014-07-29 02:12:32

标签: sql sql-server tsql count

这是我的代码

select len(cast(code as float)),code 
from tbl1
where code is not null

这是输出:

enter image description here

我想要代码列中的数字位数。 我不明白为什么最后一个被算作12而不是8?

2 个答案:

答案 0 :(得分:4)

将其转换为int代替:

select len(cast(code as int)), code 
from tbl1
where code is not null;

据推测,某些十进制值会被计算在内。

答案 1 :(得分:3)

获取数字10的幂并加1。这可用于整数或实数来计算整数部分的位数(注意使用LOG10仅适用于正数,因此我已应用ABS来解决此问题,您的数据可能不需要):

Toast.makeText(getContext(), "Your text for toast", Toast.LENGTH_SHORT).show();