MySQL是目前世界上最流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù),具有高效、安全、可靠、易用等優(yōu)點(diǎn)。在MySQL中,有時(shí)候我們需要把字符串類型的數(shù)據(jù)轉(zhuǎn)換成整數(shù)類型,這時(shí)候就需要使用MySQL提供的CAST()函數(shù)。
CAST()函數(shù)語(yǔ)法:
CAST(expr AS type)
expr是要轉(zhuǎn)換的值,type是要轉(zhuǎn)換成的數(shù)據(jù)類型。其中,expr可以是任意一種數(shù)據(jù)類型,如字符串類型、日期時(shí)間類型、小數(shù)類型等,type為整數(shù)類型(即INT、INTEGER)。
具體實(shí)例:
SELECT CAST('123' AS UNSIGNED INTEGER); SELECT CAST('-123' AS SIGNED INTEGER);
以上兩個(gè)查詢語(yǔ)句,第一個(gè)將字符串'123'轉(zhuǎn)換為一個(gè)無(wú)符號(hào)整數(shù),第二個(gè)將字符串'-123'轉(zhuǎn)換為一個(gè)有符號(hào)整數(shù)。需要注意的是,轉(zhuǎn)換成整數(shù)類型時(shí),如果字符串中含有非數(shù)字字符,則會(huì)被自動(dòng)忽略。
如果要進(jìn)行更復(fù)雜的字符串轉(zhuǎn)換操作,如將十六進(jìn)制字符串轉(zhuǎn)換為整數(shù),或?qū)⒍M(jìn)制字符串轉(zhuǎn)換為整數(shù)等,也可以使用MySQL提供的CONV()函數(shù)。
CONV()函數(shù)語(yǔ)法:
CONV(N,from_base,to_base)
N是要轉(zhuǎn)換的值,from_base是N的進(jìn)制,to_base是要轉(zhuǎn)換成的進(jìn)制。其中,from_base和to_base可以是2~36之間的任意一個(gè)數(shù)字。
具體實(shí)例:
SELECT CONV('7F', 16, 10);
以上查詢語(yǔ)句將十六進(jìn)制字符串'7F'轉(zhuǎn)換為十進(jìn)制整數(shù),結(jié)果是127。
總之,MySQL提供多種方式將字符串類型的數(shù)據(jù)轉(zhuǎn)換成整數(shù)類型。根據(jù)實(shí)際需求選擇合適的函數(shù)即可。