create function getIP(@a varchar(15))
returns varchar(15)
As
begin
declare @s varchar(15)
set @s = ''
while charindex('.',@a) > 0
begin
set @s = @s + right('000' + left(@a,charindex('.',@a)),4)
set @a = right(@a,len(@a)-charindex('.',@a))
end
set @s = @s + right('000' + @a,3)
return @s
end/*
Select dbo.getIP('202.1.110.2')
---------------
202.001.110.002
*/select max(dbo.getIP(nodes)) from test
returns varchar(15)
As
begin
declare @s varchar(15)
set @s = ''
while charindex('.',@a) > 0
begin
set @s = @s + right('000' + left(@a,charindex('.',@a)),4)
set @a = right(@a,len(@a)-charindex('.',@a))
end
set @s = @s + right('000' + @a,3)
return @s
end/*
Select dbo.getIP('202.1.110.2')
---------------
202.001.110.002
*/select max(dbo.getIP(nodes)) from test
解决方案 »
- 两张表的查询,求指点!!!!!!
- 形如这样的字符串,如何计算? “ 1,4-9,10-12 ”计算得到 10
- 触发器
- 请高手帮忙,解决不了,回家种田!!!
- 这是什么加密
- vs2008 + sql server 2005数据库连接问题。。。请教各位
- 请教触发器怎么写,实现插入数据自动将列加一的触发器,因为我的sql2000导入到2005后,自增没了,所以想用触发器实现
- 我把Access 转化成SQL Server 2000 数据库后,我要这些数据库中数据copy到另一台装有SQL计算机上SQL的DATA的目录下,可是不能用,难道要
- 请教往一个表逐列插入的SQL语句
- 一个简单的触发器问题
- 使用Recordset讀取臨時表為何報對象已關閉?
- 一个打不开SQL Server 2000中的数据表的问题,急!在线等待......
returns varchar(15)
As
begin
declare @s varchar(15)
set @s = ''
while charindex('.',@a) > 0
begin
set @s = @s + right('000' + left(@a,charindex('.',@a)),4)
set @a = right(@a,len(@a)-charindex('.',@a))
end
set @s = @s + right('000' + @a,3)
return @s
end/*
Select dbo.getIP('202.1.110.2')
---------------
202.001.110.002
*/
创建测试环境:
create table test(nodes varchar(20))
insert test select '1.1.1.1'
union all select '1.1.1.5'
union all select '1.1.1.6'
union all select '1.1.1.7'
union all select '1.1.1.8'
union all select '1.1.1.10'运行:
Select nodes from test where dbo.getip(nodes) =
(select max(dbo.getIP(nodes)) from test)nodes
--------------------
1.1.1.10(所影响的行数为 1 行)
select top 1 nodes from test order by len(nodes) desc