欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql如何對(duì)String類型的數(shù)字值排序

 更新時(shí)間:2023年08月26日 08:58:45   作者:一勺菠蘿丶  
這篇文章主要介紹了mysql如何對(duì)String類型的數(shù)字值排序問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql對(duì)String類型的數(shù)字值排序

正常

SELECT
	current_box_num,
	total_box_num 
FROM
	jis_order 
WHERE
	delete_flag = 0 
	AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) 
ORDER BY
	total_box_num asc

查詢結(jié)果

但如果total_box_num字段類型是String的話排序就會(huì)有問題, 需要在字段前加 --

SELECT
	current_box_num,
	total_box_num 
FROM
	jis_order 
WHERE
	delete_flag = 0 
	AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) 
ORDER BY
	--total_box_num asc

查詢結(jié)果

或者

SELECT
	current_box_num,
	total_box_num 
FROM
	jis_order 
WHERE
	delete_flag = 0 
	AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) 
ORDER BY
	total_box_num+0 asc

mysql字符串?dāng)?shù)字排序

如果您的 MySQL 數(shù)據(jù)庫(kù)中的字符串只包含數(shù)字并且您想按數(shù)字順序?qū)λ鼈冞M(jìn)行排序,可以使用 MySQL 內(nèi)置的 CAST() 函數(shù)將字符串轉(zhuǎn)換為數(shù)字,然后對(duì)數(shù)字進(jìn)行排序。

例如:

假設(shè)您有一個(gè)名為 mytable 的表,其中包含一個(gè)名為 mycolumn 的列,該列包含字符串?dāng)?shù)字,您可以使用以下查詢對(duì)它們進(jìn)行排序:

SELECT mycolumn FROM mytable ORDER BY CAST(mycolumn AS UNSIGNED) ASC;

這將按升序順序返回 mytable 中的所有行,并將 mycolumn 中的字符串?dāng)?shù)字轉(zhuǎn)換為無符號(hào)整數(shù)進(jìn)行排序。

如果您想按降序順序?qū)λ鼈冞M(jìn)行排序,可以將 ASC 替換為 DESC。

請(qǐng)注意,如果 mycolumn 中包含非數(shù)字字符,則 CAST() 函數(shù)將返回 0。

因此,如果您的列中包含其他字符,則可能需要使用其他方法來排序。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論