簡體   English   中英

從具有0填充的MySQL數據庫列中選擇最高編號?

[英]Select highest number from a MySQL Database column with 0 padding?

我需要從MySQL數據庫列中選擇最高數字,如果需要,可以在前面填充0。

數字從000001開始,隨着記錄集的增長,數字越來越高。

現在我們有大約14個xxx記錄,當我運行這個SQL時......

SELECT MAX( designnumber_c ) 
FROM d1_designs_cstm
LIMIT 1

結果是值為009999的記錄,因此下一個數字和向上數字不會被識別為最高數字。

如何確保返回最高值? 如果重要的話,該列不是INT ,而是在我擁有它之前使用VARCHAR

請幫忙?

你先嘗試打字嗎?

SELECT MAX(強制轉換(designnumber_c為無符號))來自d1_designs_cstm LIMIT 1

我只是做了一個快速測試和演員('009999'作為無符號)返回9999的數字表示,所以我認為它應該工作。

臨時解決方案:您可以在DESCENDING中訂購結果,只選擇一行。 這可以通過以下方式完成:

SELECT designnumber_c FROM d1_designs_cstm
ORDER BY CAST(`designnumber_c` AS SIGNED) DESC LIMIT 1 

但是通過將designnumber_c數據類型designnumber_c為Integer可以更好地解決問題。

SELECT MAX( changed_to_int ) 
FROM(
SELECT CAST(designnumber_c AS UNSIGNED) as changed_to_int
FROM d1_designs_cstm
) as t

不確定這會有多高效,但應該做到這一點

這個頁面可能會有所幫助。 特別是如果你總是有6位數字。 從添加了前綴的MYSQL表中選擇最大數字

這確實有效,同時保留前導零。 SQL小提琴

SELECT RIGHT(MAX(designnumber_c), 6) max_val
FROM d1_designs_cstm
LIMIT 1

希望這可以幫助。

暫無
暫無

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

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