
正文
sqlserver吧,sqlserver官方版
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
SQL中orderby排序有问题,求解决
你这个sort列肯定是非数值型的,所以他排序的时候会按照字符串排序方式;1开头的字符串排在前面,排完了,然后才开始排2开头的字符串,3、4、5往后面推;
如果你想要按照数字排序,先要把字符串转换成数字格式;
如果是sqlserver数据库的话,
order
by
convert(int,sort)
ASC或者order
by
cast(sort
as
int)
ASC
如果是oracle数据库的话就用order
by
to_number(sort)
ASC;
我看你上面的显示格式,应该是sqlserver吧,我以前也遇到过类似问题。
相关问答
Q1: 关于sqlserver很急的帮帮忙吧
可以用类似于这样的方式查找:select left(公司,4) from 表 group by left(公司,4) having count(1)1
这需要你知道公司名称的相似位置,然后通过循环获穷举一下
Q2: 想学习数据库 不知道SQLserver 、Oracle、 Mysql、 DB2那个比较主流,使用比较多,各自的优点是什么
主要跟你今后想从事的工作相关,在工作中学习比较快。
如果自学,建议先学习SQLServer和MySQL。
SQL Server和ORACLE在做传统软件的企业应用较多,SQL Server相对比较容易上手,中小型应用中使用较多,Oracle做大型应用较多。
Mysql作为开源数据库,在互联网企业里面应用非常广泛。
DB2主要在大型应用中使用,特别是金融等行业,如果没有机会接触的话,最后不要学,学了可能没有地方用。






