首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么比较字符串大小

2012-02-17 
如何比较字符串大小我有一组数据。格式如下FDG-1FDG-2FDG-3FDG-4FDG-5这样的数据如何比较大小。因为数字前都

如何比较字符串大小
我有一组数据。格式如下
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 行)

*/

热点排行