这个怎么排序啊? 有这么一列a1-1-18-11-1-2-11-1-2-1应该排在1-1-18-1前面 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 基本的ORDER BY 都是逐字符排序的, 因为 18的 1 比2 小, 所以在前面 数据太少不能说明说明问题。如果就是这样的数据的话 可以直接ORDER BY LEN(a) ;with tb(col) as(select '1-1-18-1'union all select '1-1-2-1')select colfrom (select COL,rn=cast(REPLACE(col,'-','') as int) from tb)torder by rn/*col----------------------1-1-2-11-1-18-1*/ 关于数据库接口! |zyciis| 在SQL中能不能实现像.NET中的Timer功能,在给表插入一条数据后三秒再进行判断 如何将nvarchar类型转换为datetime类型呢? SQL2000求每个会员最后消费信息 谁能帮助接一下这个帖子阿~关于存储过程的问题,在线等~~~~~ SQL生成进销存预计报表 关于openrowset的奇怪问题 关于数据库整型字段问题(感觉有难度).麻烦高手们帮帮忙! 如何取中文的拼音首字母? 救救我吧!救救我吧!!! 导入数据后,需要一列序号列,有没有简单快捷的方法? 如何找出某张表所有索引,并对所有索引进行重建
如果就是这样的数据的话 可以直接
ORDER BY LEN(a)
;with tb(col) as
(
select '1-1-18-1'
union all select '1-1-2-1'
)
select col
from
(
select COL,rn=cast(REPLACE(col,'-','') as int) from tb
)t
order by rn/*
col
----------------------
1-1-2-1
1-1-18-1
*/