可以獲取客戶端的IP地址的sql語(yǔ)句
更新時(shí)間:2009年12月03日 21:14:03 作者:
利用SQL語(yǔ)句得到客戶端的IP地址的代碼
--1:得到客戶端的IP地址
/************* IP **************/
declare @ip varchar(20),@hst varchar(20),@sql varchar(100)
declare @str varchar(100)
set @str='PING '+Host_Name()
create table #tmp(aa varchar(200))
insert #tmp exec master..xp_cmdshell @str
select top 1 @ip = replace(left(aa,charindex(':',aa)-1),'Reply from ','')
from #tmp where aa like 'reply from %:%'
drop table #tmp
select @ip
--2:得到網(wǎng)卡的物理地址
create table #tb(re varchar(255))
insert into #tb exec master..xp_cmdshell 'ipconfig /all'
select 網(wǎng)卡物理地址=substring(re,charindex(':',re)+1,255) from #tb where re like '%Physical Address. . . . . . . . . :%'
drop table #tb
go
--3: 將IP地址段轉(zhuǎn)成每三位用點(diǎn)號(hào)分開
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
(所影響的行數(shù)為 1 行)
*/
--drop function getIP
/************* IP **************/
declare @ip varchar(20),@hst varchar(20),@sql varchar(100)
declare @str varchar(100)
set @str='PING '+Host_Name()
create table #tmp(aa varchar(200))
insert #tmp exec master..xp_cmdshell @str
select top 1 @ip = replace(left(aa,charindex(':',aa)-1),'Reply from ','')
from #tmp where aa like 'reply from %:%'
drop table #tmp
select @ip
--2:得到網(wǎng)卡的物理地址
create table #tb(re varchar(255))
insert into #tb exec master..xp_cmdshell 'ipconfig /all'
select 網(wǎng)卡物理地址=substring(re,charindex(':',re)+1,255) from #tb where re like '%Physical Address. . . . . . . . . :%'
drop table #tb
go
--3: 將IP地址段轉(zhuǎn)成每三位用點(diǎn)號(hào)分開
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
(所影響的行數(shù)為 1 行)
*/
--drop function getIP
相關(guān)文章
SQL?Server中的XML數(shù)據(jù)類型詳解
本文詳細(xì)講解了SQL?Server中的XML數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
sql server的一個(gè)有趣的bit位運(yùn)算分享
sql server中沒有bool類型,而是用bit類型來表示bool值,估計(jì)是為了節(jié)省存儲(chǔ)空間,下面為大家介紹下這個(gè)有趣的bit位運(yùn)算,感興趣的朋友可以參考下2013-09-09
mssql無(wú)數(shù)據(jù)庫(kù)日志文件恢復(fù)數(shù)據(jù)庫(kù)的方法
因各種原因我們需要注意恢復(fù)數(shù)據(jù)庫(kù),如果剛好有沒有數(shù)據(jù)庫(kù)日志文件,那就不妨用下面的方法2008-09-09
sqlserver 不能將值NULL插入列id(列不允許有空值解決)
Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 '80040e2f' 不能將值 NULL 插入列 'id',表 'web.dbo.dingdan';列不允許有空值。INSERT 失敗2013-06-06
SQL Server中使用sp_password重置SA密碼實(shí)例
這篇文章主要介紹了SQL Server中使用sp_password重置SA密碼實(shí)例,一般在忘記SA密碼時(shí)的恢復(fù)手段,需要的朋友可以參考下2014-08-08
SQLSERVER啟動(dòng)不起來(錯(cuò)誤9003)的解決方法分享
這篇文章主要介紹了SQLSERVER因錯(cuò)誤9003啟動(dòng)不起來的解決方法,大家參考使用吧2013-11-11
SQL Server 2016 查詢存儲(chǔ)性能優(yōu)化小結(jié)
SQL Server 2016已經(jīng)發(fā)布了有半年多,相信還有很多小伙伴還沒有開始使用,今天我們來談?wù)凷QL Server 2016 查詢存儲(chǔ)性能優(yōu)化,希望大家能夠喜歡2016-01-01
將string數(shù)組轉(zhuǎn)化為sql的in條件用sql查詢
將string數(shù)組轉(zhuǎn)化為sql的in條件就可以用sql查詢了,下面是具體是的示例,大家可以參考下2014-05-05

