當前位置:首頁 » 編程語言 » sqlip比較
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlip比較

發布時間: 2023-03-14 06:17:22

sql語句查詢IP段

--先構建一個轉換ip地址格式的函數 以『.』為間隔按4段拆分 每段前端補0 然後截取3位
--可將『1.1.166.0』轉換為『001001166000』
create function convertIP (@strIP varchar(20))
returns varchar(20)
as
begin
declare @str1 varchar(6),@str2 varchar(6),@str3 varchar(6),@str4 varchar(6),
@i int,@j int,@k int,@m int
set @i=1
set @j=1
set @k=1
set @m=1
while (@i<=len(@strIP))
begin
if (substring(@strIP,@i,1)='.')
begin
if @k=1 set @str1=substring(@strIP,@m,@j-1)
if @k=2 set @str2=substring(@strIP,@m,@j-1)
if @k=3 set @str3=substring(@strIP,@m,@j-1)
set @j=1
set @m=@i+1
set @k=@k+1
end
else
set @j=@j+1
set @i=@i+1
end
set @str4=substring(@strIP,@m,@j-1)
set @str1='000'+@str1
set @str1=substring(@str1,len(@str1)-2,3)
set @str2='000'+@str2
set @str2=substring(@str2,len(@str2)-2,3)
set @str3='000'+@str3
set @str3=substring(@str3,len(@str3)-2,3)
set @str4='000'+@str4
set @str4=substring(@str4,len(@str4)-2,3)
return @str1+@str2+@str3+@str4
end
--查詢ip地址為標准格式 例如'201.125.12.203'
select address from IP where dbo.convertIP(IPstart)<=dbo.convert('201.125.12.203') and dbo.convertIP(IPend)>=dbo.convertIP('201.125.12.203')

② sql中怎樣為IP地址欄位按大小排序在線等!

把ipAddr設置成主鍵試試。

③ 配置應用程序時候,連接sql資料庫時用 『.』 和IP地址的區別

接 SQL Server 時,指定伺服器可以有多種形式:
回送地址(127.0.0.1)
回送地址(127.0.0.1)與 localhost 等效,因為在 hosts 文件中指定 localhost 指向 127.0.0.1。使用的是 TCP/IP 連接。
計算機 IP 與域名等效(除非域名指向的不是計算機 IP,而是回送地址等其它)。使用的是 TCP/IP 連接。
計算機名,這種訪問容易受限制,比如有時跨網段就不行,一般沒用。使用命名管理連接。

(local) 和 . 應該是等效的,至少就目前來看,沒有發現什麼區別。使用命名管道連接。



**local是SQL Server定義的本機別名

**localhost是TCP/IP協議中地址127.0.0.1的默認DNS名,注冊在本機host文件中

TCP/IP 連接對於慢速網路效果好,需要 1433 埠開放才能連接。

④ sql IP地址 排序

select *
from iptable
order by convert(numeric(20),replace(ip欄位,'.',''))

⑤ 急求:用sql判斷一個IP地址,是否在指定的IP段之內

sql支持那種帶點的字元串比較大小的。
你直接這樣就行

select count(ip) from tb WHERE IP>'10.0.0.1' AND IP<'10.0.0.254' and ip='傳進來的ip'

如果是0則不在范圍內