我想取得:上海市中山北一路1250号2号楼18层
中的1250然后和另一个表里面的字段进行比较,如何实现?
select substring(ZS,charindex('路' ,ZS)+1 ,
(charindex('号' ,ZS)-charindex('路',ZS))) as [number] from eim_basic_info 其中ZS是列名
但是你这个提示(charindex('号' ,ZS)-charindex('路',ZS))传递到 SUBSTRING 函数的长度参数无效。跪求高手解答?
------解决方案--------------------
你这个是要取 字段中的 门牌号么,这个不好弄的,除非你能保证每一个值 都是按固定的规律输入的,否则就得不到你想要的结果
------解决方案--------------------
------解决方案--------------------
在你之前的贴子都提示过你,确认你的数据都是符合一定的共性规则。你这个都提示了substring参数无效,说明你substring内部的写法肯定是出来的结果有问题
------解决方案--------------------
- SQL code
declare @eim_basic_info table(ZS varchar(50))insert into @eim_basic_info select '上海市中山北一路1250号2号楼18层' union allselect '上海市水电路841号2楼201室' union allselect '上海市水电路393号2楼1001室'--语句select substring(ZS,charindex('路',ZS)+1,(charindex('号',ZS)-charindex('路',ZS)-1)) as number from @eim_basic_info--结果number--------------------------------------------------1250841393(3 行受影响)