我已经使用了POPUP LOV心尖顺序按升序排列
select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by 1 asc;
我想给我看的值下面的查询显示在数字顺序,即按升序order.i图已经尝试了所有的可能的方式,我知道但它不起作用。
我已经使用了POPUP LOV心尖顺序按升序排列
select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by 1 asc;
我想给我看的值下面的查询显示在数字顺序,即按升序order.i图已经尝试了所有的可能的方式,我知道但它不起作用。
它似乎是所在领域的数据类型为字符串,将其转换成数字,然后应用order by
select CAST(VEN_INVOICE_REFNO AS INTEGER) as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by 1 asc;
试试这个::
select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by ORDER BY CAST(`display_value` AS SIGNED)
对不起..一点儿也不作品 –
@MuhammadUsman:请立即检查,已经更新了我的查询 –
我记得我有这个问题一次,我最终乘以1
类似的东西(不知道是否会工作,你可能需要投下您它VEN_INVOICE_REFNO到数字)
select (VEN_INVOICE_REFNO * 1) as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by 1 asc;
像这样
:
select CONVERT((VEN_INVOICE_REFNO * 1),UNSIGNED INTEGER) as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by 1 asc;
感谢安德鲁您的第一查询工作,但第二个有一些错误..发出右括号..我认为括号是好的 –
试试这个
选择VEN_INVOICE_REFNO作为display_value,VEN_INVOICE_REFNO作为return_value 来自VENDORINVOICE order by VEN_INVOICE_REFNO
级
另外这里的解决方案将无法正常工作,如果任何的记录有一个非数字值,所以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
到列的最大尺寸。
但是,如果列中有任何负数或小数(浮点数)值,我的解决方案将不起作用。
...谢谢。我可以有你的Skype ID吗?我在账户中遇到了一些问题,以便我可以在那里与你聊天并与你讨论。 –
当然,但请注意,我按小时收取一对一服务费。而且我的费用相当高,需要提前支付并且不可退还。如果这是可以接受的,请告诉我。 –
它是VARCHAR,因为有时“VEN_INVOICE_REFNO”可以具有比数字 –
感谢其他价值......现在它的工作原理 –