作者fumizuki (蒙面加菲狮)
看板Visual_Basic
标题Re: [.NET] datagrid资料未排序
时间Tue Jun 6 20:38:29 2006
※ 引述《rabbit1734 (幸福光点)》之铭言:
: 上次
: 有人说用SQL语法 可是我试了 也没有用
: 我想还是把我的问题说清楚一点好了
: 我原本设的主键是用int 例如:1.2.3.... 显示出来有排序 也没有任何的问题
: 後来 因为某些因素 而更改为char 例如 s_1 s_2....之後 显示出来有排序
: 但是一到s_10 s_11的时候 他的顺序会跑在 s_2之前
: 是因为我选了char的关系吗
: 我要改回原来的写法 还是有其他的办法可以解决呢?
: 谢谢大家看完这麽一大串的东西
: 谢谢^^
字元依照字元码大小排列,由左至右,首字相同的放在一起,
第二个也相同的放在一起,...,不同的再依字元码大小排列。
s_2 跟 s_10,因为 1 小於 2 ,所以 s_10 会摆在 2 之前
解决方式:
order by
cast(substring(index, 3, len(index) - 3) as int)
说明:substring(index, 3, len) 是从 index 中的第 3 个字开始抓出後面的字元
cast(... as int) 是将字元转换成 int 型态,然後再 order by ...
不过不建议用 char 做主索引,主索引最好都是数字型态。
如果你一定要用英文字母的话,请把 英、数 拆成两个栏位,主索引就是这两个栏位。
--
▃▅▇▆▄ ▆▂▃ `
逝去感情如何能留住,半点痴情遗留殊不易,██▅▇▄▃ ▇▃▂" .
█████████▃i ▁▄▇
更多凄凄惨惨的遭遇…………██▆▃ █▅▆▃ˍ▄*
◢ ▂█▄▇▅▂▌.
我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.184.116.195