J jack2000 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-04 #1 我的数据库字段大部分情况下用数值,而有时会用非数值表示,如1a,1-1等。当我在排序时 又不想按字符串形式排序,而希望按数值方式排序,请问哪位大虾帮助,不是表面回答而是 具体如何操作
C creation-zy Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-04 #2 将前面的数字部分提取出来,转化为integer,然后按int的值将其分组排序,再在组内进行字符串排序。
J jack2000 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-06 #3 谁能用SQL语言解决,在加100分。 select * from qb.dbf where contr='''+mcontr+''' order by ? ?部分如何编写。
D delphiwolf Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-06 #4 ? 写成 CONVERT(int, CharField)
M mikedeakins Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-06 #5 你在写入的时候把 1 写成 00000001 不就行了吗?使用的时候去点前面多余的 0
Z zengmj Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-06 #6 order by to_number(id) id:要排序的列名: to_number :你的数据库中的格式转换。在数据库中直接转换为数值形式。 :) are you ok???
M mat Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-07 #7 假设字段1为字符型,数据表中一共有3个字段 select CONVERT(int, 字段1) as aa,字段2,字段3 from table where contr='''+mcontr+''' order by aa
假设字段1为字符型,数据表中一共有3个字段 select CONVERT(int, 字段1) as aa,字段2,字段3 from table where contr='''+mcontr+''' order by aa
A aerobull Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-07 #9 在sql 中 select * from youtable order by convert(Int aa) aa为字段名
F Fenix Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-07 #10 解决了吗? 直接order by 字符串也可以,但前缀要相同。
J jack2000 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-07 #11 不行啊!convert(int,id)不认,总是出错,谁有更好的方法。
L Laotian Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-08 #12 convert()函数应该是SQL Server的函数,如使用其它数据库,则用其它的函数。 如ACCESS中可用Str()
Y yifeng Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-08 #13 cast(xx as integer) or cast ( xx,int) ... 自己试试看
A Aloney Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-09 #15 建议以固定的格式储存字串,用SQLSERVER的字串处理函数提取需要的部分。 在转换为数字。
B bigroom Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-09 #16 可以这么处理,如果你的排序字段是CHAR的话。 1,SQL照常写,照常用。 2,处理结果集的时候,使用FIELDBYNAME('FIELDNAME').ASINTEGER取出字段数据。 3,需要按照字符串使用的时候,再用INTTOSTR转一下就好了。 如果含有非数字字符,就只能在输入的时候多注意了。
可以这么处理,如果你的排序字段是CHAR的话。 1,SQL照常写,照常用。 2,处理结果集的时候,使用FIELDBYNAME('FIELDNAME').ASINTEGER取出字段数据。 3,需要按照字符串使用的时候,再用INTTOSTR转一下就好了。 如果含有非数字字符,就只能在输入的时候多注意了。
L lanny Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-09 #17 如果使用 MS SQL 可以通过修改排序的字符集实现。