+ -
当前位置:首页 → 问答吧 → SQL类型转换查询语句

SQL类型转换查询语句

时间:2011-12-14

来源:互联网

create table Number
(
num varchar(10)
)

insert Number values('13-108')
insert Number values('10-8')
insert Number values('2-108')
insert Number values('13-1')
insert Number values('13-10')
insert Number values('131-8')
insert Number values('131-108')
insert Number values('131-2')
insert Number values('10-1')
insert Number values('10-108')

要怎么样才能让“-”后面的数进行升序排序,求SQL语句

作者: zhongniangyou   发布时间: 2011-12-14

SELECT * FROM TB ORDER BY CONVERT(INT,STUFF(NUM,1,CHARINDEX('-',NUM),''))

作者: SQL777   发布时间: 2011-12-14

SQL code

create table Number
(
num varchar(10)
)

insert Number values('13-108')
insert Number values('10-8')
insert Number values('2-108')
insert Number values('13-1')
insert Number values('13-10')
insert Number values('131-8')
insert Number values('131-108')
insert Number values('131-2')
insert Number values('10-1')
insert Number values('10-108')

select * from Number order by cast(substring(num,charindex('-',num)+1,len(num)-charindex('-',num)) as int)
/*
num
----------
13-1
10-1
131-2
131-8
10-8
13-10
2-108
131-108
13-108
10-108

(10 行受影响)

*/

作者: pengxuan   发布时间: 2011-12-14

SQL code
select * from number order by  substring(Number,CHARINDEX('-',Number)+1,len(Number)-CHARINDEX('-',Number))

作者: xfxyxy   发布时间: 2011-12-14


order by cast(stuff(num,charindex('-',num),'') as int)

作者: fredrickhu   发布时间: 2011-12-14

SQL code
SELECT * FROM TB 
 ORDER BY right(NUM,len(NUM)-CHARINDEX('-',NUM))*1

作者: ssp2009   发布时间: 2011-12-14