我有一個表格,其中包含數字變量,如「03-011A」或「03.011A」或「03-011」或「03.011」等... 但是,數字順序的標準方法似乎無效,他們仍然返回無序,我已經檢查瞭解決方案,但唉,我找不到治療方法。返回包含數字順序數字的變化表
有什麼想法嗎?
我有一個表格,其中包含數字變量,如「03-011A」或「03.011A」或「03-011」或「03.011」等... 但是,數字順序的標準方法似乎無效,他們仍然返回無序,我已經檢查瞭解決方案,但唉,我找不到治療方法。返回包含數字順序數字的變化表
有什麼想法嗎?
你不應該有這種不一致的數據庫。選擇一種格式並堅持下去。
但是你可以使用即NumericOnly()(http://venerableagents.wordpress.com/2011/01/29/mysql-numeric-functions/)在ORDER BY
陳述或者一些其他種類的正則表達式操作的
我沒有其他選擇,因爲這是我的客戶規格,它需要大量的代碼返工來分離這兩個數字。 – PwnageAtPwn 2012-04-15 18:33:39
打算用指令設置的「數場」: SELECT * FROM表WHERE場= test ORDER BY number_field ASC
否則,您可以嘗試通過PHP(使用數組)進行排序。
在varchars正在使用的情況下,這不起作用,通過示例的順序僅適用於整數。 – PwnageAtPwn 2012-04-15 18:36:30
比你必須使用PHP。對變量使用查詢結果並對此數組進行排序。 – 2012-04-15 18:41:33
MySQL非常強大,我不認爲php是一個很好的選擇! – worenga 2012-04-15 18:49:27
如果數據庫(設計)包含「numers」,那麼您的數據庫(設計)有問題。我建議將所有文本轉換爲標準(最好不是文本)格式 – dtech 2012-04-15 19:00:05