Sql 按升序排列

Sql 按升序排列,sql,oracle,plsql,oracle-apex,Sql,Oracle,Plsql,Oracle Apex,我在Apex中使用了以下查询弹出LOV select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value from VENDORINVOICE order by 1 asc; 我想以数字顺序i-e以升序显示图中所示的值。我已经尝试了我知道的所有可能的方法,但都不起作用 试试这个: select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO

我在Apex中使用了以下查询弹出LOV

select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value 
  from VENDORINVOICE
 order by 1 asc;
我想以数字顺序i-e以升序显示图中所示的值。我已经尝试了我知道的所有可能的方法,但都不起作用

试试这个:

select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value 
  from VENDORINVOICE
 order by ORDER BY CAST(`display_value` AS SIGNED)
试试这个:

select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value 
  from VENDORINVOICE
 order by ORDER BY CAST(`display_value` AS SIGNED)

您的字段数据类型似乎是字符串,请将其转换为数字,然后按

select CAST(VEN_INVOICE_REFNO AS INTEGER) as display_value, VEN_INVOICE_REFNO as return_value 
 from VENDORINVOICE
 order by 1 asc;

您的字段数据类型似乎是字符串,请将其转换为数字,然后按

select CAST(VEN_INVOICE_REFNO AS INTEGER) as display_value, VEN_INVOICE_REFNO as return_value 
 from VENDORINVOICE
 order by 1 asc;

我记得我曾经有过这个问题,结果我把它乘以1

类似的情况(不确定是否有效,您可能需要将VEN_INVOICE_REFNO转换为数字)

例如:

select CONVERT((VEN_INVOICE_REFNO * 1),UNSIGNED INTEGER) as display_value, VEN_INVOICE_REFNO as return_value 
  from VENDORINVOICE
 order by 1 asc;

我记得我曾经有过这个问题,结果我把它乘以1

类似的情况(不确定是否有效,您可能需要将VEN_INVOICE_REFNO转换为数字)

例如:

select CONVERT((VEN_INVOICE_REFNO * 1),UNSIGNED INTEGER) as display_value, VEN_INVOICE_REFNO as return_value 
  from VENDORINVOICE
 order by 1 asc;
试试这个

选择“发票编号”作为显示值,选择“发票编号”作为返回值 来自VENDORINVOICE 按发票编号订购

试试这个

选择“发票编号”作为显示值,选择“发票编号”作为返回值 来自VENDORINVOICE 按发票编号订购


如果任何记录具有非数值,则此处的其他解决方案将不起作用,因此此处的FWIW是另一种解决方案:

select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value 
from VENDORINVOICE
order by LPAD(VEN_INVOICE_REFNO,100,' ') asc;
只需将
100
更改为列的最大大小


但是,如果列具有任何负值或十进制(浮点)数值,则我的解决方案将不起作用。

如果任何记录具有非数值,则此处的其他解决方案将不起作用,因此FWIW这里有一个替代解决方案:

select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value 
from VENDORINVOICE
order by LPAD(VEN_INVOICE_REFNO,100,' ') asc;
只需将
100
更改为列的最大大小


但是,如果列有任何负数或小数(浮点),我的解决方案将不起作用数值。

它是varchar,因为有时“发票号”可以有数值以外的值。它是varchar,因为有时“发票号”可以有数值以外的值。第一次查询有效,但第二次查询有一些错误。缺少右括号。我想括号是可以的。谢谢你的第一次查询有效但是第二个有一些错误…缺少右括号..我认为括号是可以的…谢谢。可以给我你的Skype id吗?我的帐户有问题,因此我可以在那里与你聊天并与你讨论。当然可以,但请注意,一对一服务是按小时收费的。而且我的费用很高,预付,不退还。如果可以接受,请告诉我……谢谢。可以给我你的Skype id吗?我的帐户有问题,因此我可以在那里与你聊天并与你讨论。当然可以,但请注意,一对一服务是按小时收费的。而且我的费用很高,预付,不退还。如果这是可以接受的,让我知道。