如何把这两个ASP格式化IP的函数写与SQL自定义函数

qfljm 2006-02-23 10:50:48
如何把这两个ASP格式化IP的函数写与SQL自定义函数

Function EcodeIP(strIP)
Dim aIP, RV
If strIP="" Or strIP="127.0.0.1" Then strIP="192.168.0.1"
aIP = Split(strIP, ".")
EcodeIP=CLng(aIP(0)) * 16777216 + CLng(aIP(1)) * 65536 + CLng(aIP(2)) * 256 + CLng(aIP(3)) - 1
End Function

Function DcodeIP(intIP)
Dim sect1, sect2, sect3, sect4
sect1 = Int(intIP / 16777216)
intIP = intIP - sect1 * 16777216
sect2 = Int(intIP / 65536)
intIP = intIP - sect2 * 65536
sect3 = Int(intIP / 256)
intIP = intIP - sect3 * 256
sect4 = intIP+1
DcodeIP = sect1 & "." & sect2 & "." & sect3 & "." & sect4
End Function

MSSQL2000版本
...全文
184 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2006-02-23
  • 打赏
  • 举报
回复
如果你的函数是返回值的, 则调用时必须加所有者, 也就是楼主说的dbo

如果你的函数是返回表的, 则调用时直接用函数名即可.
zlp321002 2006-02-23
  • 打赏
  • 举报
回复
----------
dbo 是具有在数据库中执行所有活动的暗示性权限的用户。
固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 dbo。
qfljm 2006-02-23
  • 打赏
  • 举报
回复
所有这样的自定义函数都要加上
dbo
才能运行吗?
zlp321002 2006-02-23
  • 打赏
  • 举报
回复
Create function EcodeIP(@strIP as varchar(2000))
returns bigint
as
Begin
if @strIP='' or @strIP='127.0.0.1'
begin
set @strIP='192.168.0.1'
end
return(
cast(PARSENAME(@strIP,4) as bigint) * 16777216 +cast(PARSENAME(@strIP,3) as bigint)* 65536+
cast(PARSENAME(@strIP,2) as bigint) * 256+cast(PARSENAME(@strIP,1) as bigint)-1
)
End

Create function DcodeIP(@strIP as bigint)
returns varchar(2000)
as
Begin
declare @sect1 bigint,@sect2 bigint,@sect3 bigint,@sect4 bigint,@tempstrIP bigint
set @sect1=cast(@strIP/16777216 as bigint)
set @tempstrIP=@strIP-@sect1*16777216
set @sect2=cast(@tempstrIP/65536 as bigint)
set @tempstrIP=@tempstrIP-@sect2*65536
set @sect3=cast(@tempstrIP/256 as bigint)
set @tempstrIP=@tempstrIP-@sect3*256
set @sect4=@tempstrIP+1
return cast(@sect1 as varchar)+'.'+cast(@sect2 as varchar)+'.'+cast(@sect3 as varchar)+'.'+cast(@sect4 as varchar)
End

--测试:
select dbo.EcodeIP('211.23.44.1')
/*
--------------------
3541511168

(所影响的行数为 1 行)
*/
select dbo.DcodeIP(3541511168)
/*
211.23.44.1

(所影响的行数为 1 行)

*/
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

22,296

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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