SQL,排序问题,请高手指教

一个数据库中的一个字段是字符型,有若干记录例如Q1,A10,110,TT2等数字和字符混在一起的记录,我想将其排序为按数字大小排序,例如Q1,Q2,Q10,Q110

第1个回答  2010-12-02
如果是只有一个字母排序完全可以,如果是混排,单一SQL无能为力

SELECT field
FROM tab
ORDER BY SUBSTR(field, 1, length(field))
第2个回答  2010-12-02
不可以
数据库排序只能按这一整个字段,而不能把字段中的字符分开
排序时会由左到右的顺序来对比排列本回答被网友采纳
第3个回答  2010-12-02
select *
from tb
order by cast(stuff(col,1,patindex('%[0-9]%',col)-1) as int)

SQL,排序问题,请高手指教
如果是只有一个字母排序完全可以,如果是混排,单一SQL无能为力 SELECT field FROM tab ORDER BY SUBSTR(field, 1, length(field))

SQL排序问题~!!!本人新手,求大家指教~!
在sql里写 查询的时候按顺序查询就可以了 select 市场经理,市场副经理,经理助理,员工 from userinfo order by ID 只能按ID排序 这意思不是说的行里的排序,而是一个列中数据由大到小还是有小到的意思

SQLSERVER排序问题,求大虾指教
-- 排序查询 select a.badge,a.[name],a.department,a.job,isnull(b.course,'旷考') course,isnull(b.grade,0) grade,b.[order]from employee a left join training b on a.badge=b.badge order by b.course,b.grade desc -- 更新表2的排名(循环)declare @tid int,@order int,@ct...

怎么样让SQL数据表中按一二三四五...排序 急!!!
from 表 order by cast(月份列 as int)如果是汉字,就这么排序 select from 表 order by charindex (月份列,N'一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月')是汉字的话不可能按ASCII码排序。

有sql高手嘛,有个高深的需求求指教!想拿到每个用户每天最早和最晚两次...
order by userid, to_char(c_time, 'YYYY-MM-DD')假设表A数据如下图:执行上述SQL后的结果如下如:也就是说对于当天只有一次打卡记录的人员,其最早打卡时间=最晚打卡时间。特别说明:排序字段的先后顺序可以根据您的需要调整,如果想集中看某人的可以先按人排序;如果集中想看某日期的则可以先按...

ASP+SQL 多字段排序的问题
文本类型比较大小,从第一个字符开始比,第一个相同则比第二个 例如:13和5,则认为5大 改成数值型即可

SQL去重复问题,但不是简单的去重复
则可以这样排序:select tablename.*,ordern=0 from tablename,(select cname,sdate=max(sdate) from tablename group by cname) a where a.cname=tablename.cname and a.sdate=tablename.sdate union select *,ordern=1 from tablename where not exists (select 1 from (select cname,sdate...

sql 降序改成升序
order by 字段 这样默认的就是按该字段升序排列,也可以显式声明,即 order by 字段 ASC order by 字段 DESC 这样就是按该字段降序排列了。

SQL 查询时发生错误:ORA-00907 缺失右括号。请高手指教。
您的日期条件不对。需要一个单引号。select STATION, LOCAL_TIME,GLOBAL_TIME,V1,OCC1,SP1,V1\/SP1 as DENSITY1 from ORIGINAL_DETECTOR_DATA where STATION in(717486) and DATES in ('2005-08-06 00:00:00')希望对您有用!

急救!SQL server 三表连查 求高手指教
方法1:select a.stuName as stuName,a.className as className,b.proName as project,c.score into #fk from student a,project b,marks c where a.stuId=c.stuId and b.proId=c.proId select stuName,className,project,max(score) as score from #fk where stuName in (select stuName ...

相似回答
大家正在搜