关于SQL语句的一个排序问题(中文和数字排序)

一个表中的数据是这样的:PROJECTNO-----------------------钦市PC2010-5钦市PC2011-6钦市PC2011-40钦南PC2011-5钦南GC2011-5钦市PC2011-5(还有很多)数据前2个字是市区名,后面的是文件名“-”后面的是第几号文件,我想知道如何用SQL语句将他们升序排序,需要先排列市区名,市区名相同了在升序排列后面的文件名,文件名相同了在排列后面的文件编号名。注意:单单用select projectno from dual order by projectno asc 是不能实现的。

你得分三个字段 来分别储蓄市区名、字母、数字然后语句用多字段的排序select projectno from dual order by 市区名、字母、数字 asc
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-15
select projectno from dual order by substring(projectno ,1,2) asc ,substring(projectno ,3,6) asc ,substring(projectno ,9,2) asc本回答被网友采纳
第2个回答  2013-08-11
select projectno from dual order by 市区名,文件名

关于SQL语句的一个排序问题(中文和数字排序)
你得分三个字段 来分别储蓄市区名、字母、数字然后语句用多字段的排序select projectno from dual order by 市区名、字母、数字 asc

...里含有数字还有汉字的如何使他们按照数字顺序排列
把数据做一次清理。提取数据里你需要进行排序的数据放在一个新字段里 查询时按提取的字段进行排序即可。注意数据类型哈 祝好运,望采纳。

sql排序问题,字符串中有全数字和含中文的, 要求全数字的转换成整数排...
order by ISNUMERIC(字段),case when ISNUMERIC(字段)=0 then 0 else cast(字段 as float) end

SQL语句排序的问题
你的写法是错误的,按照你的写法在对n进行降序排序时,第一个m升序排序结果会失效,等于最终只读n做了降序排序,而且你的语句本身也比较冗余。正确的写法是:SELECT * FROM a ORDER BY m ASC ,n DESC;我们可以通过一些实例来具体分析order by 子句的用法:假设有Orders 表:1、实例 1 以字母顺序...

sql语句中对一个字段排序,字段中含有字符串和数字,(怎根据数字进行排序...
order by 字段名称+0 desc\/asc的形式进行排序 order by 字段名称*1 desc\/asc的形式进行排序

sql语句中的order by排序问题 数据库中有一priority字段,取值为高、中...
这个无法出现正常的排序。在SQL中对于字符或是汉字的排序依据是汉字字母按英文排序的方式。也就是说如果在没有更改的情况下,select * from table order by priority [ASC]顺序应该是低(D),高(G),中(Z)的顺序进行排列的。而若是select * from table order by priority DESC(降序)时与ASC...

sql数据库数字排序问题
假如你要排序的字段名为 mynum,如果 mynum 是 int 型,直接排序即可: order by mynum 如果 mynum 是 string 型,但存的是数值,并且要出现你说的自然排序效果的话,要这样做: order by mynum+0

SQL 排序问题,高手请进
查询语句是 select top 5 id from tb where id>=a or id=1 这句的条件就是id=2或id>=2,那输入的结果,肯定就是1.2.3.4.5啊,不是说你写在后面了,他就最后执行啊,你需要了解他的执行顺序啊,如果你想要这样的结果,我怕是1句sql语句不能搞定,我学艺不精,要是我写,只能写procd...

请教!请问在SQL中 汉字字符是如何排序的?
对于 SQL Server -- 按照拼音来排序 1> SELECT 2> 3> FROM 4> Tab 5> ORDER BY 6> val COLLATE Chinese_PRC_CS_AS_KS_WS 7> go id val --- --- 2 二 3 三 4 四 5 五 1 一 (5 行受影响)-- 按照笔画数的多少来排序 1> SELECT 2> 3> FROM 4> Tab 5> OR...

SQL排序问题,我的数据有1 , 1.1 , 1.1.2 ,2 , 2.1 ,3, 3.1 ,3.2...
新建一个函数,将数据转化成 001,001001,001001002,002,002001,003,003001,然后按照字符来排序就好了

相似回答