create function fn_GetFirstNum(
@s varchar(300)
)
returns int
as
begin
if PATINDEX('%[0-9]%',@s)>0
return cast(left(stuff(@s,1,PATINDEX('%[0-9]%',@s)-1,''),PATINDEX('%[^0-9]%',stuff(@s,1,PATINDEX('%[0-9]%',@s)-1,''))-1) as int)
return 0
end
go
你的可以
select * from 你的表名
order by dbo.fn_GetFirstNum(地址字段名)