SQLServer2005排序问题 select * from 表 order by convert(int, left(字段,patindex('%[^0-9]%',字段)-1)) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from 表 order by convert(int, case when patindex('%[^0-9]%',字段) > 0 then left(字段,patindex('%[^0-9]%',字段)-1) else 字段 end) select * from 表 order by convert(int, case when patindex('%[^0-9]%',字段) > 0 then left(字段,patindex('%[^0-9]%',字段)-1) else 字段 end)支持小楼 if object_id('tempdb.dbo.#') is not null drop table #create table # (col varchar(10))insert # select '6'insert # select '3'insert # select '10'insert # select '4A'insert # select '3040'insert # select '200'insert # select '104B'select * from # order by convert(int, case when patindex('%[^0-9]%',col) > 0 then left(col,patindex('%[^0-9]%',col)-1) else col end)/*col--------34A610104B2003040*/ Thank You to Limpire for you help me!The problem is resolved! select * from 表 order by convert(int, case when patindex('%[^0-9]%',字段) > 0 then left(字段,patindex('%[^0-9]%',字段)-1) else 字段 end) 求一个应用 |zyciis| 求一条SQL查询语句 求SLQ语句 请教该结果用sql语句如何实现 通过查询分析器执行后的.sql文件,在哪里可以查看到具体的表格及连接???(在线等) 这个问题究竟怎么解决啊? 如何在管理器中手动加入dateetime类型???急!!! 请问怎样将整型数据转化成4个字节长的16进制数和2个字节长的16进制数呢?在sql中能解决吗??如能解决另开贴子单独加分 请问ACCESS97是不是不能打开ACCESS2000的数据库呀? 解决sql7.0安装的问题 又是行转列啊。。。麻烦 。。。。哪位给转一下,谢谢 这个存储过程的参数怎么加?
from 表
order by convert(int, case when patindex('%[^0-9]%',字段) > 0 then left(字段,patindex('%[^0-9]%',字段)-1) else 字段 end)
支持小楼
create table # (col varchar(10))
insert # select '6'
insert # select '3'
insert # select '10'
insert # select '4A'
insert # select '3040'
insert # select '200'
insert # select '104B'select * from # order by convert(int, case when patindex('%[^0-9]%',col) > 0 then left(col,patindex('%[^0-9]%',col)-1) else col end)
/*
col
--------
3
4A
6
10
104B
200
3040
*/
The problem is resolved!
select * from 表 order by convert(int, case when patindex('%[^0-9]%',字段) > 0 then left(字段,patindex('%[^0-9]%',字段)-1) else 字段 end)