簡體   English   中英

在MySQL中按十進制/字符串排序

[英]Ordering By a Decimal / String in MySQL

我正在嘗試在CakePHP中對字符串進行排序,但是這樣做有一些錯誤。 我有C.110,C.100.1,...,C.100.8之類的字符串。

當我嘗試使用以下命令進行訂購時:

ORDER BY CAST(plane_accounts.code AS DECIMAL(10,5))

MySQL給我一些類似的信息:

C.110
C.110.8
C.110.1
C.100.2

有人知道如何解決嗎? 感謝幫助。

無需強制轉換,只需在code字段上進行簡單的ASC排序即可:

$this->PlaneAccount->find('all', array(
    'order' => array(
        'PlaneAccount.code' => 'ASC'
    )
));

或以簡單的MySQL語法:

SELECT `code` FROM `plane_accounts` ORDER BY `code` ASC;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM