简单排序!!急急急急!!!(50分)

  • 主题发起人 主题发起人 yiyuan_luo
  • 开始时间 开始时间
Y

yiyuan_luo

Unregistered / Unconfirmed
GUEST, unregistred user!
我在SQL Server 7 的某个字段(varchar)中存放着这样格式的数据 xxxxxxxxx19x 或
xxxxxxxxxxx1x 请问我如何才能将这些数据按内容中的数字(19,1...)等进行排序?
(内容中的数字长度不定,位置不定,前后的字符不定)
 
连一个具体一点的规则都没有怎么排???
例如:a01a11,01,aa01这三个认为是一样的吗???
 
没有规矩如何成方圆!?
 
这样能排吗?
 
是呀!这个问题简单吗?
 
你所写的x是数字吗?
如果是,你所用来排序的数字后是否只有一位字符?(因为你写xxxxxxxxx19x,xxxxxxxxxxx1x)
如果不是,那具体说说怎样提取你作为排序键值的那部分数字.
 
这样试试:
SELECT *
FROM Company
ORDER BY SUBSTRING(公司编码, 4, 1)
 
你那里面的x都是字母么?
 
如果你的x均不是数字还可以考虑,否则是不好排的!
用sql也不好办,你可以将符合条件的记录返回到一个query中,然后用一个二维数组来进行
排序(一个存放分解出来的数字,另一个存放记录号)。
你还不如在库中增加一个字段用来存放分解出来的数字,然后以该字段为关键字段进行排序!
 
sorry,sorry 一时糊涂.上面说的(xxxxxxxxx19x 或 xxxxxxxxxxx1x )最后一位有且有一个
固定的字符(如"号")但前面的就有字母,数字,标点符号,汉字.
简单的SQL语句不行,也可用存储过程.
TO HHZH426:你的办法我也想过,但我该截取多少位呢?
 
分成两个字段吧!
 
新建一个字段将数字放到这里
 
恩,let me try.
 
关于截取多少位的问题:
如果该字段中的数字是连续的,你可以用一个字符数组表示该字段的值,然后找出第一个
数字的位置和最后一个数字的位置,依据这两个位置提取出该字段中的数字。
 
接受答案了.
 
后退
顶部