我是菜鸟,请教各位大虾一个SQL语句问题(50分)

  • 主题发起人 主题发起人 phyvon
  • 开始时间 开始时间
P

phyvon

Unregistered / Unconfirmed
GUEST, unregistred user!
我是菜鸟,请教各位大虾一个SQL语句问题
我在面试时有人问我这么一个问题:
(1) select * from table1 where field1>1.1*950
(2)select * from table1 where field1/1.1>950
请问这两句有什么区别?
 
第一个比较好
 
我想应该是与数据的精度有关吧
 
if field1=1046 ,第一个可以筛选,第二个不可以。
 
跟field的类型定义和具体数据有关系!
 
第一句server只需對1.1*990作一次運算,其他就是值的比較,可以利用內部索引優化
第二句sever要每個紀錄都作一次/1.1的運算再比較
 
我想来想去就是一个精度问题,第一个好点,用了除法后,可能会出现误差。
 
第一个好,省很多时间,第二很少会有人这样写。
 
其实有的时候第一个也不好,特殊情况下要先算除法
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
500
import
I
后退
顶部