select * from tb order by Cast (replace(联片 ,'T','') as int) Asc
不知道字段的排序选项中有没有相关的设置;不过比较通用的方法是:多加个排序字段,将 T 后面的字符 Convert 成数值。
这跟你排序规则有关吧---------------------------------------------------------------- -- Author :DBA_HuangZJ(發糞塗牆) -- Date :2014-07-18 11:18:06 -- Version: -- Microsoft SQL Server 2012 - 11.0.5058.0 (X64) -- May 14 2014 18:34:29 -- Copyright (c) Microsoft Corporation -- Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor) -- ---------------------------------------------------------------- --> 测试数据:[TB] if object_id('[TB]') is not null drop table [TB] go create table [TB]([name] varchar(3)) insert [TB] select 'T1' union all select 'T2' union all select 'T3' union all select 'T10' union all select 'T11' union all select 'T12' --------------开始查询--------------------------select * from [TB] ----------------结果---------------------------- /* name ---- T1 T2 T3 T10 T11 T12 */
-- Author :DBA_HuangZJ(發糞塗牆)
-- Date :2014-07-18 11:18:06
-- Version:
-- Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
-- May 14 2014 18:34:29
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
go
create table [TB]([name] varchar(3))
insert [TB]
select 'T1' union all
select 'T2' union all
select 'T3' union all
select 'T10' union all
select 'T11' union all
select 'T12'
--------------开始查询--------------------------select * from [TB]
----------------结果----------------------------
/*
name
----
T1
T2
T3
T10
T11
T12
*/