哈 的个人资料哈哈的部落格(blog@msn)照片日志留言簿更多 工具 帮助

日志


10月11日

mysql的sql语句中直接支持算术运算符

我有个mysql库
里面有个server表
其存储ip地址的是一个unsigned int(10)的变态的数据类型
其存储的数据是ip地址的
((第一字节*256+第二字节)*256+第三字节)*256+第四字节
因此,表里的ip地址数据相当的不直观
程序里倒无所谓
写个自函数转一下就可以了
但我如果要在mysql控制台、直接sql语句里显示直观ip信息呢
该怎么办呢
今天终于碰到这么个问题
翻了翻mysql文档
原来mysql直接支持算术运算符+、-、*、/,甚至连取余%都支持
再结合取整函数floor()、字串连接函数concat()
问题解决了

select concat(floor(ip/(256*256*256)), “.”, floor(ip/(256*256))%256, “.”, floor(ip/256)%256, “.”, ip%256) as ip_s, product, role, contact from server

评论

请稍候...
很抱歉,您输入的评论太长。请缩短您的评论。
您没有输入任何内容,请重试。
很抱歉,我们当前无法添加您的评论。请稍后重试。
若要添加评论,需要您的家长授予您相应权限。请求权限
您的家长禁用了评论功能。
很抱歉,我们当前无法删除您的评论。请稍后重试。
您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
完成下面的安全检查,您提供评论的过程才能完成。
您在安全检查中键入的字符必须与图片或音频中的字符一致。

若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


还没有 Windows Live ID 吗?请注册

引用通告

此日志的引用通告 URL 是:
http://foole6.spaces.live.com/blog/cns!DC9A31D928FEF6D!225.trak
引用此项的网络日志