排序问题,求帮助~~~~

lishery 2012-05-22 02:19:49
表中一列数据为:7,2,a,e,8,1,c等,为数据和字母混合,
先根据数字顺序排序,再根据字母顺序排序,得到结果:1,2,7,8,a,c,e
...全文
129 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lishery 2012-05-22
  • 打赏
  • 举报
回复
不好意思,列的数据有两位数的,为: 7,12,10,2,a,e,8,1,c
想得到:1,2,7,8,10,12,a,c,e
孤独加百列 2012-05-22
  • 打赏
  • 举报
回复

IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'tba')
BEGIN
DROP TABLE tba
END
GO
CREATE TABLE tba
(
memo VARCHAR(100)
)
GO
INSERT INTO tba
SELECT '7' UNION
SELECT '21' UNION
SELECT 'a' UNION
SELECT 'e' UNION
SELECT '8' UNION
SELECT '1' UNION
SELECT 'c'
GO

SELECT memo
FROM tba
ORDER BY CASE WHEN ISNUMERIC(Memo) > 0 THEN CAST(memo AS INT)
ELSE 2147483647 END

memo
1
7
8
21
a
c
e
zczhangchao2003 2012-05-22
  • 打赏
  • 举报
回复

CREATE TABLE #T1
(
col varchar(10) not null
)
insert into #T1
Select '1' union
Select '4' union
Select 'a' union
Select 'c' union
Select '7' union
Select '2' union
Select 't' union
Select 'b'
Select * From #T1 order by col



col
----------
1
2
4
7
a
b
c
t

(8 行受影响)
快溜 2012-05-22
  • 打赏
  • 举报
回复
select * from tb order by uncode(字段)

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧