可以获取客户端的IP地址的sql语句
2023-06-13 09:14:14 时间
--1:得到客户端的IP地址
/*************IP**************/
declare@ipvarchar(20),@hstvarchar(20),@sqlvarchar(100)
declare@strvarchar(100)
set@str="PING"+Host_Name()
createtable#tmp(aavarchar(200))
insert#tmpexecmaster..xp_cmdshell@str
selecttop1@ip=replace(left(aa,charindex(":",aa)-1),"Replyfrom","")
from#tmpwhereaalike"replyfrom%:%"
droptable#tmp
select@ip
--2:得到网卡的物理地址
createtable#tb(revarchar(255))
insertinto#tbexecmaster..xp_cmdshell"ipconfig/all"
select网卡物理地址=substring(re,charindex(":",re)+1,255)from#tbwhererelike"%PhysicalAddress.........:%"
droptable#tb
go
--3:将IP地址段转成每三位用点号分开
createfunctiongetIP(@avarchar(15))
returnsvarchar(15)
As
begin
declare@svarchar(15)
set@s=""
whilecharindex(".",@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
/*
Selectdbo.getIP("202.1.110.2")
---------------
202.001.110.002
(所影响的行数为1行)
*/
--dropfunctiongetIP
/*************IP**************/
declare@ipvarchar(20),@hstvarchar(20),@sqlvarchar(100)
declare@strvarchar(100)
set@str="PING"+Host_Name()
createtable#tmp(aavarchar(200))
insert#tmpexecmaster..xp_cmdshell@str
selecttop1@ip=replace(left(aa,charindex(":",aa)-1),"Replyfrom","")
from#tmpwhereaalike"replyfrom%:%"
droptable#tmp
select@ip
--2:得到网卡的物理地址
createtable#tb(revarchar(255))
insertinto#tbexecmaster..xp_cmdshell"ipconfig/all"
select网卡物理地址=substring(re,charindex(":",re)+1,255)from#tbwhererelike"%PhysicalAddress.........:%"
droptable#tb
go
--3:将IP地址段转成每三位用点号分开
createfunctiongetIP(@avarchar(15))
returnsvarchar(15)
As
begin
declare@svarchar(15)
set@s=""
whilecharindex(".",@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
/*
Selectdbo.getIP("202.1.110.2")
---------------
202.001.110.002
(所影响的行数为1行)
*/
--dropfunctiongetIP
相关文章
- MySQL客户端工具的使用与MySQL SQL语句
- 2023-01-03:超过5名学生的课。编写一个SQL查询来报告 至少有5个学生 的所有班级,返回结果不限顺序。请问sql语句如何写? +---------+
- 看这篇就够了丨基于Calcite框架的SQL语法扩展探索
- SQL Server 获取服务器时间的sql语句
- SQL Server创建链接服务器的存储过程示例分享
- 解决Oracle死锁:SQL来帮忙(oracle死锁sql)
- MySQL中SQL语句的使用方法(mysql中sql语句)
- MySQL的更新SQL实用技巧(mysql更新sql)
- JSP JSTL <sql:param>标签:指定SQL参数
- MySQL操作:执行SQL语句(mysql执行sql语句)
- 模式进入Oracle数据库的SQL模式(oracle进入sql)
- 处理Oracle批量SQL处理:加快数据处理速度(oracle批量sql)
- MySQL备份:如何使用SQL语句(mysql备份sql语句)
- 精选MySQL常用SQL语句,让你轻松执行数据库操作(mysql常用sql语句)
- 卸载SQL却未找到MSSQL?(卸载sql没有mssql)
- 区别对比分析:SQL与MSSQL的异同(sql和mssql的)
- 如何排查慢的 Oracle SQL?(oracle慢的sql)
- SQL Server数据库的高性能运行(sqlserver 开头)
- SQL Server地图开发:实现地理信息化管理(sqlserver 地图)
- Oracle 高效拼接SQL,节省时间提高效率(Oracle写拼接sql)
- MySQL实现一对多关系的SQL查询方法(mysql一对多sql)
- 中的数据使用SQL从Redis中检索数据(使用sql获取redis)
- Oracle中SQL参数优化实践经验(oracle中sql参数)
- mysql存在该记录则更新,不存在则插入记录的sql
- 动态组合SQL语句方式实现批量更新的实例
- Sql学习第三天——SQL关于CTE(公用表达式)的递归查询使用