人妻系列无码专区av在线,国内精品久久久久久婷婷,久草视频在线播放,精品国产线拍大陆久久尤物

當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > 正文

mysqlchar轉(zhuǎn)數(shù)字?如何將mysql字符類型轉(zhuǎn)換為數(shù)字

mysqlchar轉(zhuǎn)數(shù)字?如何將mysql字符類型轉(zhuǎn)換為數(shù)字

mysql的varchar轉(zhuǎn)換int varchar類型被隱式轉(zhuǎn)換為int:當(dāng)varchar類型的列在SQL查詢中與數(shù)字進(jìn)行比較時,MySQL會嘗試將varchar類型...

mysql的varchar轉(zhuǎn)換int

varchar類型被隱式轉(zhuǎn)換為int:當(dāng)varchar類型的列在SQL查詢中與數(shù)字進(jìn)行比較時,MySQL會嘗試將varchar類型的值隱式轉(zhuǎn)換為int。這種轉(zhuǎn)換通常只考慮varchar值的第一個字符,并將其轉(zhuǎn)換為對應(yīng)的ASCII碼值,但在大多數(shù)情況下,非數(shù)字字符會被忽略,導(dǎo)致轉(zhuǎn)換結(jié)果為0。

將MySQL中的VARCHAR類型轉(zhuǎn)換為INT類型,只需使用CAST函數(shù)。例如:這樣,將xxx_field(原為VARCHAR類型)轉(zhuǎn)換為無符號整型,并應(yīng)用于排序。查詢結(jié)果將按照整型排序,而非字符串排序。在實際業(yè)務(wù)中,如果SQL語句按照字符串排序,則1-11的排序結(jié)果如下:而按照整型排序,結(jié)果如下,不會讓人為之困惑。

表結(jié)構(gòu)顯示列nodeId為varchar類型,而SQL語句卻返回了0作為結(jié)果。我開始對SQL語句進(jìn)行猜測,最終發(fā)現(xiàn),所有varchar類型的nodeId被隱式轉(zhuǎn)換為了int,且只轉(zhuǎn)換了第一個字符。這解釋了為什么所有記錄都顯示為0的結(jié)果。我進(jìn)一步觀察了所有轉(zhuǎn)換后的nodeId值,發(fā)現(xiàn)它們都與0相符。這是MySQL默認(rèn)行為的結(jié)果。