Sql 排序

平时排序

select 字段 from 表名 where 条件  order by 根据字段排序  desc   从大到小排序(降序)

select 字段 from 表名 where 条件  order by 根据字段排序  asc 从小到大排序(升序)

 


排序 去除了1、11、2
SELECT * FROM test ORDER BY (id-0)

select* from user order by cast(字段 AS DECIMAL)

 

有的时候我需要根据楼层进行排序

比如B3、B2、B1、1F、2F .....

这个时候用不同排序手法是肯定不行了

这个时候  我们就需要这么写

select 字段 from 表名 where 条件  order by cast(字段 as decimal) asc, SUBSTRING(字段,1,2)desc

首先按照升序排,然后在照字段中的某个值进行排序

Sql中的cast函数用于将某种数据类型的表达式显示的转换成位另一种数据类型。

cast()函数的参数是一个表达式,它包括用as关键字分割的源值和目标数据类型

语法  cast(expression as date_type)

expression:任何有效的SQServer表达式。

AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。
data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。

 

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

二进制,同带binary前缀的效果 : BINARY    
字符型,可带参数 : CHAR()     
日期 : DATE     
时间: TIME     
日期时间型 : DATETIME     
浮点数 : DECIMAL      
整数 : SIGNED     
无符号整数 : UNSIGNED 

转载于:https://www.cnblogs.com/companionspace/p/10346083.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值