收录日期:2020/10/20 20:12:15 时间:2016/07/11 11:05:20 标签:疑难问题

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE Function dbo.GCDistance( @dXStart float, @dYStart float,@dXEnd float,@dYEnd As float)
RETURNS FLOAT
AS 
BEGIN
    DECLARE @d FLOAT,@Distance FLOAT,@DE2RA FLOAT,@AVG_ERAD INT

SET @DE2RA = 0.01745329252 --度转换成弧度
SET @AVG_ERAD = 6371 --平均地球半径(Km)
    SET @dXStart = @dXStart * @DE2RA
    SET @dYStart = @dYStart * @DE2RA
    SET @dXEnd = @dXEnd * @DE2RA
    SET @dYEnd = @dYEnd * @DE2RA
       
    SET @d = Sin(@dYStart) * Sin(@dYEnd) + Cos(@dYStart) * Cos(@dYEnd) * Cos(@dXStart - @dXEnd)
    If Abs(@d - 1) < 0.0000000001 
BEGIN
        SET @Distance = 0
END 
    Else
BEGIN
        SET @Distance = @AVG_ERAD * ACos(@d)
    END
RETURN @Distance
END 

能正常创建函数
为什么运行 DBO.GCDistance(110.22,19.23,110.23,18.234)
会出现:
消息 102,级别 15,状态 1,第 1 行
'110.22' 附近有语法错误。
请高手赐教,非常感谢
select DBO.GCDistance(110.22,19.23,110.23,18.234) 
/*
110.75515303887
*/
print DBO.GCDistance(110.22,19.23,110.23,18.234) 
/*
110.755
*/
试过没问题
函数不能单独运行,要配合其它关键字。
标量函数要用在 select,print等的后面;
表值函数要这样用:select * from dbo.tablefunction('hi')
谢谢

主窗体上的控件怎么调用子窗体的函数呢? 同步microsoft office outlook 数据,解决了100分,急.... 如何在WINXP系统的web服务程序安装FSO组件应用 我该如何模拟这个操作啊 关于图论中 节点算法 2连通的算法 求教 怎么统计执行readline()的次数 关于数据库连接的问题? 各位大侠,帮帮帮忙. FireFox的问题--居然高度有差别 oracle中游标是否可以和sql server一样取得任意位置行? 怎么创建一个用Show方式显示其窗口的DLL? 关于统计的问题 大哥大姐帮帮小弟,Eclipse 上传问题? 跪求各位达人!本人急需代码! 关于全局网络接口 说说邹建??? 请教:定时运行的程序,报错后,如何使得下个时次依然可以运行? 怎么样才能使dataGridView的前几行显示为红,下几行显示为绿,以此累推。 还是来到php,使用过SVNManager兄弟请指导下。 总是异常??? JBOSS中端口如何改变? 关于c#窗体程序开发发送邮件(包括附件)的问题 oracle中游标是否可以和sql server一样取得任意位置上的数据行? 大家好啊!请热心人帮帮忙!MyEclipse问题! 高手帮忙 hibernate丢失数据怎么回事啊? 求助!JSP英文文章~~ 急!请问mssql2005的镜像实现方法,我想把我的网通服务器和电信服务器做成数据库镜像 soap:如何转换为 soapenv: mciSendString的用法 在后台动态填充Table 没有效果 请达人指点