这种排序怎么写.
这种排序怎么写.
表STR 中的strDesc列里不是固定的,但是里面总含有特定字符.
例如:
随便找了strDesc列中的几行
[Opt: +17] [Var: 27037768484]
[Opt: +3] [Var: 202444813]
[Opt: +1] [Var: 825]
[Opt: +2] [Var: 825]
我想写个排序,按照[Opt: + 后面这个数字大小排序该怎么写
[解决办法]
if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (col nvarchar(100))
insert into [TB]
select '[Opt:+17] [Var:27037768484]' union all
select '[Opt:+3] [Var:202444813]' union all
select '[Opt:+1] [Var:825]' union all
select '[Opt:+2] [Var:825]'
select * from [TB]
SELECT * FROM TB
ORDER BY CONVERT(INT,REPLACE(SUBSTRING(col,7,3),']',''))
/*
[Opt:+1] [Var:825]
[Opt:+2] [Var:825]
[Opt:+3] [Var:202444813]
[Opt:+17] [Var:27037768484]*/