select语句的问题,立刻结贴
"字段5"的值为:xxx.xx.8888.xx.xx,我要取出8888和另一字段(字段8)比较,这条select语句该怎么写?
“select * from table1 where ??? ”
多谢!马上结贴.
------解决方案--------------------select * from table1 where substring(字段5,7,4)=字段6
------解决方案--------------------LZ: xxx.xx.8888.xx.xx是什么意思.特别是中间的"."
如果字段5"的值为:可表示为:1234588881234还是123.45.8888.12.34
------解决方案--------------------select * from table1 where substring(字段5,8,4)=字段8
------解决方案--------------------uppp
------解决方案--------------------select * from table1 where 字段5 like '%.%.'+字段8+'.%.%'
------解决方案--------------------sprc_lcl
cool一生
等 级:
发表于:2007-10-11 18:24:307楼 得分:0
select * from table1 where 字段5 like '%.%. '+字段8+ '.%.%
是不是得需要保证字段8也是字符类型吧
------解决方案--------------------select * from table1 where 字段5 like '%.%. '+ltrim(字段8)+ '.%.% '
应该可以满足LZ的要求;
但可以写得更简便些:
select * from table1 where 字段5 like '%.'+convert(varchar,字段8)+ '.% '
------解决方案--------------------谢谢各位,因为特殊原因,必须要取得这个值,所以也不能简单的like。
----------------------
select * from table1 where 字段5 like '%. '+convert(varchar,(select 字段8 from 表 where 条件))+ '.% '
------解决方案-------------------- where substring(substring(substring(字段5,charindex('.',字段5)+1,length(字段5)-charindex('.',字段5)),charindex('.',substring(字段5,charindex('.',字段5)+1,length(字段5)-charindex('.',字段5)))+1,length(substring(字段5,charindex('.',字段5)+1,length(字段5)-charindex('.',字段5)))-charindex('.',substring(字段5,charindex('.',字段5)+1,length(字段5)-charindex('.',字段5)))),1,charindex('.',substring(substring(字段5,charindex('.',字段5)+1,length(字段5)-charindex('.',字段5)),charindex('.',substring(字段5,charindex('.',字段5)+1,length(字段5)-charindex('.',字段5)))+1,length(substring(字段5,charindex('.',字段5)+1,length(字段5)-charindex('.',字段5)))-charindex('.',substring(字段5,charindex('.',字段5)+1,length(字段5)-charindex('.',字段5)))))-1)=字段8
看着晕不?????
------解决方案--------------------具体的没怎么看,但可以肯定的是charindex(字段5, '. ')应该写为:charindex( '.',string)