分享、学习、提高
2011/07/27 11:39
文章作者:Enjoy 转载请注明原文链接。
在查看网站SQL语句时,发现这样一样语句,ORDER BY -title DESC。
第一反应是不是写错了,-title DESC不是应该和title ASC一样吗?

检测了下,两者结果是不一样的。

假定title有:旅游1线,20路,112路,113路

title ASC,是 112路,113路,20路,旅游1线
-title DESC,是 旅游1线,20路,112路,113路
-title ASC,是 113路,112路,20路,旅游1线
title DESC,是 旅游1线,20路,113路,112路

其中-title DESC,是 旅游1线,20路,112路,113路,20路在112路前面。

那么为什么会这样呢?
SELECT title,-title FROM hx_bus WHERE ...
查看到:
title -title
112路 -112
113路 -113
20路 -20
旅游1线 -0

原来加了-(负号)后,中文的title转变成数字了,无法转变的就变成了0。
这样ORDER BY -title DESC时,按照数字排序,20路才能排在112路前面,同时112路在113路前。

所以,在某些情况下,还是需要用到ORDER BY -title DESC这种用法的。
发表评论
表情
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写