sqlserver2000中,使用log函数问题

Almzg_0 2006-07-06 10:46:30
有两个问题不解:
1.在sql查询分析器中执行 select log(8)
得到结果 :2.0794415416798357
而用delphi的函数math.log2(8)
得到结果为:3
2.在sql查询分析器中执行 select log(8)
能正确执行
但 select log(filedname1)
确提示:出现域错误
其中 fieldname1为字段名称,float型
...全文
198 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Almzg_0 2006-07-07
  • 打赏
  • 举报
回复
谢谢!
LouisXIV 2006-07-06
  • 打赏
  • 举报
回复
其实MSSQL中的LOG相当于Ln

如果要求得math.log2(8)的结果

可以用

select log(8)/log(2)

来求得(log2(8)=ln(8)/ln(2))
LouisXIV 2006-07-06
  • 打赏
  • 举报
回复
SQL的log是以自然对数e为底求得的

你在Delphi是求以2为底8的对数,当然是3
Almzg_0 2006-07-06
  • 打赏
  • 举报
回复
第2个问题我找到原因了,是fieldname2有些数据小于0,所以。...
但第一个问题还不知道为啥?
Almzg_0 2006-07-06
  • 打赏
  • 举报
回复
第二个问题描述有错误:
在sql查询分析器中执行 update table1 set feildname1= log(8)
能正确执行
但 update table1 set feildname1= log(fieldname2)
确提示:出现域错误
其中 fieldname1,fieldname2为字段名称,float型

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧