ACCESS求某字段值小数点后长度(50分)

  • 主题发起人 主题发起人 miaoyuli
  • 开始时间 开始时间
M

miaoyuli

Unregistered / Unconfirmed
GUEST, unregistred user!
ACCESS的库,比如一个表TAB,字段AA,现在的值分别是
1.2
3.45
4.567
如何只通过SQL命令得出字段AA每个值小数点后长度,即上面数据的结果应为
1
2
3
 
楼主真有意思,Access 的字段有精度设置,至于小数点后几个数就是个显示的问题,根本不影响运算虾米东西。说白了,1.2就是1.200,3.45就是3.450,不知您要那个虾米小数点后长度干嘛?
 
Access 的字段有精度设置,
 
不是我有意思,是事实上ACCESS库里某表字段类型设置的是双精度型,小数位数4,但是里面保存的数据确实有1.2,3.45等,并不是你们所说的1.2000,3.4500等。倒是不了解事件情况就乱放炮的人挺有意思。
 
select (len(AA)-instr('.',AA)) as 长度 from TAB
 
instr我试过,无论是instr('.',AA)还是instr(AA,'.'),或者AA先转成字符串再instr,都得不出小数点在字段中的位置。
 
1.2就是1.200,3.45就是3.450
楼主这都看不懂。还是回家放炮去吧。
 
楼上回家吃奶去吧!
 
Access数据库保存是默认将1.2000保存为1.2,不知道LZ想实现什么功能,想得到某个固定的小数位数可以用STR函数啊。
 
我之所以要求小数点后面数值的位数,是因为要校验该字段的取值有多少是录入到了小数点后4位,有多少没达到4位,因为该字段是经纬度坐标,录入小数点后2位和录入4位差别很大,在程序录入上当时没有做必须录入4位小数的限制,所以限现在需要用ACCESS的命令查出来有多少没录入4位的数据。
最烦论坛里那些不懂问题提出者实际需求就乱放炮的人了,要么来帮忙解决问题,要么闭嘴。
 
SELECT iif(AA=int(AA),0,len(AA)-instr(AA,'.')) as 长度
FROM TAB
经Access2003实际测试通过。
 
谢谢luwm,结帖
 
后退
顶部