Apex の POPUP LOV に次のクエリを使用しました
select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by 1 asc;
図に示されている値を数値順、つまり昇順で表示したいと思います。私が知っているすべての可能な方法を試しましたが、うまくいきません。
Apex の POPUP LOV に次のクエリを使用しました
select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by 1 asc;
図に示されている値を数値順、つまり昇順で表示したいと思います。私が知っているすべての可能な方法を試しましたが、うまくいきません。
私は一度この問題を抱えていたのを覚えています、そして私はそれを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;
フィールドのデータ型が文字列のようです。数値に変換してから、order by
select CAST(VEN_INVOICE_REFNO AS INTEGER) as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by 1 asc;
ここでの他の解決策は、レコードのいずれかに数値以外の値がある場合は機能しないため、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
列の最大サイズに変更するだけです。
ただし、列に負の値または 10 進数 (浮動小数点) の数値がある場合、私のソリューションは機能しません。
これを試して ::
select VEN_INVOICE_REFNO as display_value, VEN_INVOICE_REFNO as return_value
from VENDORINVOICE
order by ORDER BY CAST(`display_value` AS SIGNED)
これを試して
VEN_INVOICE_REFNO の順に VENDORINVOICE から、display_value として VEN_INVOICE_REFNO、return_value として VEN_INVOICE_REFNO を選択します。