佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 淺談mysql導(dǎo)出表數(shù)據(jù)到excel關(guān)于datetime的格式問(wèn)題

淺談mysql導(dǎo)出表數(shù)據(jù)到excel關(guān)于datetime的格式問(wèn)題

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 鐵路電話系統(tǒng) 服務(wù)外包 百度競(jìng)價(jià)排名 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 地方門戶網(wǎng)站 AI電銷

最近用mysql導(dǎo)出表數(shù)據(jù)到excel文件,mysql中的datetime類型導(dǎo)出到excel(excel2016)中被excel識(shí)別成它自己默認(rèn)的日期格式了,在mysql中的格式形如 yyyy-mm-dd hh:mm:ss,到了excel變成了 yyyy/m/d h:mm,看起來(lái)不太習(xí)慣,當(dāng)然可以通過(guò)設(shè)置excel單元格格式改成自定義格式 yyyy-mm-dd hh:mm:ss,但是這樣多了一個(gè)步驟,能不能直接從mysql導(dǎo)出到excel的就是mysql顯示的樣式呢?當(dāng)然可以。

開(kāi)始猜想是由于mysql中該字段是datetime類型的,導(dǎo)出到excel后excel自動(dòng)轉(zhuǎn)為它的日期類型,所以可以通過(guò)mysql的date_format函數(shù)把datetime轉(zhuǎn)為字符串,以為沒(méi)有問(wèn)題,結(jié)果還是一樣的,猜想是對(duì)于這種標(biāo)準(zhǔn)日期的字符串的格式excel也會(huì)識(shí)別成日期格式,于是在導(dǎo)出語(yǔ)句中加上一個(gè)字符串的日期,驗(yàn)證了我的猜想。所以就尋思打破這種默認(rèn)的日期格式但使得它看上去又沒(méi)什么差別,所以在用date_format轉(zhuǎn)為字符串時(shí),在前面加上一個(gè)空格,這樣就完美解決了。

測(cè)試用表及測(cè)試數(shù)據(jù)

CREATE TABLE `users` (
 `username` varchar(255) NOT NULL,
 `create_time` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
# 插入測(cè)試數(shù)據(jù)
INSERT INTO `users`(`username`, `create_time`) VALUES 
 ('李四', '2018-10-11 15:54:23'),
 ('張三', '2018-10-12 15:54:14');

導(dǎo)出excel語(yǔ)句,注意DATE_FORMAT函數(shù)里面的格式前面加了個(gè)空格(由于表的格式是utf8的,要保證excel打開(kāi)后不亂碼,需要把格式轉(zhuǎn)換為gbk)

SELECT
 username,
 DATE_FORMAT( create_time, ' %Y-%m-%d %H:%i:%s' ) 
FROM users 
 INTO OUTFILE '/tmp/user_info.xls' 
 CHARACTER SET gbk;

大功告成,這樣導(dǎo)出的excel,不會(huì)在把日期識(shí)別成日期格式,而變成了文本格式,這樣就能展示自己想要的風(fēng)格的日期了

補(bǔ)充知識(shí):將Excel文件導(dǎo)入到Navicat Premium中日期變?yōu)?000-00-00的解決方案

問(wèn)題

在某些場(chǎng)景下,需要將本地文件導(dǎo)入到Navicat中。筆者今天遇到的問(wèn)題是,將excel文件成功導(dǎo)入后,一個(gè)在excel中原本正確的日期字段在Navicate中卻變成了“0000-00-00 00:00:00”,實(shí)在是匪夷所思。

分析

經(jīng)過(guò)觀察發(fā)現(xiàn),該日期字段在excel中似乎沒(méi)有全部顯示,比如本來(lái)是2018/10/1 0:01:42,excel中顯示為01:42.0,于是嘗試在excel中修改了該列的單元格格式,重新導(dǎo)入Navicate中,問(wèn)題得到解決。詳細(xì)解決方法請(qǐng)見(jiàn)下方。

解決方法

1.導(dǎo)入前,在excel中修改單元格格式,設(shè)置為自定義,類型為yyyy/m/d h:mm:ss,并保存文件。

2.重新將文件導(dǎo)入到Navicate中即可。

以上這篇淺談mysql導(dǎo)出表數(shù)據(jù)到excel關(guān)于datetime的格式問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Mysql數(shù)據(jù)庫(kù)中datetime、bigint、timestamp來(lái)表示時(shí)間選擇,誰(shuí)來(lái)存儲(chǔ)時(shí)間效率最高
  • MySQL中datetime和timestamp的區(qū)別及使用詳解
  • Mysql中的Datetime和Timestamp比較
  • python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)
  • mysql datetime查詢異常問(wèn)題解決
  • MySql用DATE_FORMAT截取DateTime字段的日期值
  • MySQL時(shí)間字段究竟使用INT還是DateTime的說(shuō)明
  • MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated錯(cuò)誤
  • mysql之TIMESTAMP(時(shí)間戳)用法詳解
  • MySQL錯(cuò)誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法
  • 解析mysql中UNIX_TIMESTAMP()函數(shù)與php中time()函數(shù)的區(qū)別
  • MySQL 中 datetime 和 timestamp 的區(qū)別與選擇

標(biāo)簽:湖南 銅川 崇左 仙桃 湘潭 衡水 黃山 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談mysql導(dǎo)出表數(shù)據(jù)到excel關(guān)于datetime的格式問(wèn)題》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    武宣县| 栾川县| 宝鸡市| 东丰县| 射阳县| 普洱| 都匀市| 从江县| 哈尔滨市| 东乌珠穆沁旗| 电白县| 香港 | 拉萨市| 怀宁县| 青浦区| 阿克陶县| 朝阳市| 临朐县| 安宁市| 丰城市| 阿坝县| 徐水县| 调兵山市| 卢龙县| 辛集市| 南涧| 葵青区| 疏附县| 达孜县| 桑植县| 望江县| 铁岭市| 资中县| 洮南市| 汕尾市| 和龙市| 酉阳| 青川县| 金塔县| 玉树县| 巴里|