SQLite用SQL将纯真IP地址转16进制

canca13年前 (2011-12-11)Sqlite359

SQLite将纯真IP地址转成16进制数,方便比较!

SQLite 不支持 定义变量,无耐之下,只能这么杯具!!

SQL如下:

update main.qqips set ip_begin = (
(substr(ip_begin,0,charindex('.',ip_begin)) * 255 * 255 * 255) +

((
substr(
ip_begin,
charindex('.',ip_begin) + 1,
charindex('.',ip_begin,charindex('.',ip_begin) + 1) - charindex('.',ip_begin)-1
)
) * 255 * 255) +

((
substr(
ip_begin,
charindex('.',ip_begin,charindex('.',ip_begin) + 1) + 1,  --开始
charindex('.',ip_begin,charindex('.',ip_begin,charindex('.',ip_begin) + 1) + 1)    --结束
-
charindex('.',ip_begin,charindex('.',ip_begin) + 1) - 1
)
) * 255) +

((
substr(
ip_begin,
charindex('.',ip_begin,charindex('.',ip_begin,charindex('.',ip_begin) + 1) + 1) + 1
)
)* 1)

)
,  --ip_end
ip_end =

 (
(substr(ip_end,0,charindex('.',ip_end)) * 255 * 255 * 255) +

((
substr(
ip_end,
charindex('.',ip_end) + 1,
charindex('.',ip_end,charindex('.',ip_end) + 1) - charindex('.',ip_end)-1
)
) * 255 * 255) +

((
substr(
ip_end,
charindex('.',ip_end,charindex('.',ip_end) + 1) + 1,  --开始
charindex('.',ip_end,charindex('.',ip_end,charindex('.',ip_end) + 1) + 1)    --结束
-
charindex('.',ip_end,charindex('.',ip_end) + 1) - 1
)
) * 255) +

((
substr(
ip_end,
charindex('.',ip_end,charindex('.',ip_end,charindex('.',ip_end) + 1) + 1) + 1
)
)* 1)

)


相关文章

ASP操作SQLite数据库一例

要用ASP来操作SQLite数据库,前提条件是在服务器上得安装SQLite的ODBC驱动程序,可到这个站点上下载安装:http://www.ch-werner.de/sqliteodbc/,安装好后就...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。