求一条SQL语句。该怎么处理
求一条SQL语句。
表test里有一个字段,是IP地址,比如:
10.110.1.123
我现在需要一条SQL语句,把10,110,1,123这四个数字取出来然后求这四个数字的相乘的结果,也就是:
10*110*1*123=135300。
求各位大侠解答!谢谢。
------解决方案--------------------
------解决方案--------------------
试试这个:
表test里有一个字段,是IP地址,比如:
10.110.1.123
我现在需要一条SQL语句,把10,110,1,123这四个数字取出来然后求这四个数字的相乘的结果,也就是:
10*110*1*123=135300。
求各位大侠解答!谢谢。
------解决方案--------------------
declare @str varchar(100)
set @str = '10.110.1.123'
select cast(parsename(@str,4) as int)*cast(parsename(@str,3) as int)*cast(parsename(@str,2) as int)*cast(parsename(@str,1) as int)
------解决方案--------------------
试试这个:
create table test(ip varchar(30))
insert into test
select '10.110.1.123'
go
select ip,
v1*v2*v3*v4 v
from
(
select cast(PARSENAME(ip,4) as int) v1,
cast(PARSENAME(ip,3) as int) v2,
cast(PARSENAME(ip,2) as int) v3,
cast(PARSENAME(ip,1) as int) v4,
ip
from test
)t
/*
ip v
10.110.1.123 135300
*/