MySQL是一個(gè)非常流行的開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng),常用于網(wǎng)站后臺(tái)開(kāi)發(fā)中。在項(xiàng)目中有時(shí)候需要將文本類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為數(shù)字,比如將“100”轉(zhuǎn)換為100這樣的操作,MySQL提供了一種簡(jiǎn)潔的方式來(lái)實(shí)現(xiàn)這個(gè)轉(zhuǎn)換。
SELECT CAST('100' AS SIGNED) AS num;
以上代碼使用了CAST函數(shù),將字符串類(lèi)型的“100”轉(zhuǎn)換為有符號(hào)整數(shù)類(lèi)型(SIGNED),并將轉(zhuǎn)換后的結(jié)果賦值給num。
如果需要轉(zhuǎn)換為無(wú)符號(hào)整數(shù)類(lèi)型(UNSIGNED),代碼如下:
SELECT CAST('100' AS UNSIGNED) AS num;
除了CAST函數(shù),MySQL還可以使用CONVERT函數(shù)來(lái)實(shí)現(xiàn)文本轉(zhuǎn)數(shù)字的操作,代碼如下:
SELECT CONVERT('100', SIGNED) AS num;
以上代碼將字符串類(lèi)型的“100”轉(zhuǎn)換為有符號(hào)整數(shù)類(lèi)型(SIGNED),并將轉(zhuǎn)換后的結(jié)果賦值給num。
需要注意的是,如果文本中包含非數(shù)字字符,轉(zhuǎn)換操作將會(huì)失敗,MySQL會(huì)返回NULL值。為了避免轉(zhuǎn)換失敗,可以在數(shù)據(jù)插入的時(shí)候進(jìn)行格式校驗(yàn),避免不合法的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)。