我有一个VARCHAR领域中的一个火鸟2.0表,可以含有字母数字符。我需要数据进行排序,在这个领域中,排序的所有价值观,包含数字仅为数字,以及排序的所有其他值为0。

例如,如果我有四个价值,

"1", "2", "10", "string", 

我需要它

"string", "1", "2", "10". 

默认排序与串的种种作为

"1", "10", "2", "string".

我想铸造的价值观,整数,但我越来越转换上的错误串,这当然是正确的。如何解决这个吗?

有帮助吗?

解决方案

你可以使用系统的功能界:

SELECT
  ...
  <number_field>,
  ...
FROM
  ...
ORDER BY
  LPAD(<numer_field>, 10)

其他提示

创造额外的列存储排序的价值使用的应用程序。然后做分类的基础上,列。如果你想要你的号码是在结束后插入"ZZZ"(或"ÜÜÜ"或者无论是最后一个字在你的语言)前面的数字。像格式("ZZZ%012d",my_num);

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top