我們經(jīng)常會(huì)遇到要從MySQL導(dǎo)出長(zhǎng)數(shù)字的狀況柏蘑,例如導(dǎo)出身份證號(hào)、訂單號(hào)等等昔榴。而導(dǎo)出后在Excel中打開(kāi)后卻是用科學(xué)計(jì)數(shù)法顯示的垒拢,過(guò)長(zhǎng)的話明也,后面幾位數(shù)字全都轉(zhuǎn)換為0了付翁,這跟我們想要的結(jié)果完全不一樣了闲礼。那為什么會(huì)這樣呢闯冷?這是由Excel的特性決定的:Excel顯示11位以上的數(shù)字時(shí)读宙,會(huì)自動(dòng)轉(zhuǎn)化為科學(xué)計(jì)數(shù)法彻秆,如果長(zhǎng)度大于15位,15位以后數(shù)字還會(huì)轉(zhuǎn)成0结闸。
當(dāng)然唇兑,這種情況是完全可以避免的,解決方法就是在長(zhǎng)數(shù)字前加入tab字符:
CONCAT("\t", string)
其中\(zhòng)t是制表符的轉(zhuǎn)義符桦锄,這樣導(dǎo)出來(lái)的csv文件中的長(zhǎng)字符就可以原樣顯示扎附,不會(huì)被轉(zhuǎn)為為科學(xué)計(jì)數(shù)法了。