表tb有一字段deid
其值是这样的
10-1
10-15
9-2
10-11
10-2
9-1
10-10如何用sql显示出结果是
9-1
9-2
10-1
10-2
10-10
10-11
10-15呢?
也就是以“-”前后进行排序?什么做
其值是这样的
10-1
10-15
9-2
10-11
10-2
9-1
10-10如何用sql显示出结果是
9-1
9-2
10-1
10-2
10-10
10-11
10-15呢?
也就是以“-”前后进行排序?什么做
解决方案 »
- Delphi中的控件为什么都是以T开头
- Delphi操作DBF的问题?
- 寻求:主表\细表\从表,三级表实现联级更新的方法!!!(急)
- delphi操作EXCEL, 如何隐藏EXCEL中的行或列?
- 奇怪!为什么啊,请帮忙看看!100分送上(关于托盘,让窗体显示在最上方)
- 这个简单问题怎么处理,在先等待
- 如何定义一个新图标变量(TIcon),使他表达的是16位色?
- 菜鸟问题!很好拿分的,要抢分得兄弟一定不要错过阿!
- delphi写的dll为什么c无法调用?
- Delphi问题:在客户机上如何得到当前NT服务器名?
- 【请予以支持,邀请同好者加盟】
- MTS_COM中为什么用DCOMConnection连接时会出现"Server Excetion failed"
select * from tb order by left(deid,2),substring(deid,3,2)
select * from tb order by left(deid,2),substring(deid,3,2)
或
select * from tb order by left(deid,1,2),substring(deid,3,2)
select * from ade order by cast(left(deid,instr('-')) as int)直接使用order by 与固定长度也不行。因为这是未知的字符,但肯定只有一个'-'且前后是数字
order by deid应该行的
ORDER BY CAST(REPLACE(A,'-','.') AS Numeric(7,2))
这个才是正确的答案。其他人说的都不对!
select * from ade order by cast (substring(deno,1, charindex('-', deno) -1) as int) deid我改为deno了。
我是这样写:
SELECT * FROM ade ORDER BY CAST(REPLACE(deno,'-','.') AS Numeric(7,2))
大家说的都是 MS SQL SERVER