如何比较字符串大小
我有一组数据。格式如下
FDG-1
FDG-2
FDG-3
FDG-4
FDG-5
这样的数据如何比较大小。
因为数字前都有‘-’,
所以我想把‘-’定位再截取后面的数字进行比较,
但是不知具体怎么做。
希望哪位老大给出正确答案。
------解决方案--------------------if object_id( 'pubs..tb ') is not null
drop table tb
go
create table tb(id varchar(10))
insert into tb(id) values( 'FDG-1 ')
insert into tb(id) values( 'FDG-2 ')
insert into tb(id) values( 'FDG-3 ')
insert into tb(id) values( 'FDG-4 ')
insert into tb(id) values( 'FDG-5 ')
go
select * from tb order by substring(id , charindex( '- ',id) + 1 , len(id))
select * from tb order by substring(id , charindex( '- ',id) + 1 , len(id)) desc
drop table tb
/*
id
----------
FDG-1
FDG-2
FDG-3
FDG-4
FDG-5
(所影响的行数为 5 行)
id
----------
FDG-5
FDG-4
FDG-3
FDG-2
FDG-1
(所影响的行数为 5 行)
*/