1. 程式人生 > >mysql取time ,datetime欄位顯示問題

mysql取time ,datetime欄位顯示問題

這次新需求要新增資料夾,搞了幾天終於搞明白一點了, 在此和大家分享一下我遇到的問題,希望以後大家能夠少走一下彎路。

由於我們框架用的是ssh,對SQL語句有些不支援,只支援hql,所以首先的查詢兩張表中的一些有用欄位,一張表是  user_video_folder  另一隻表是 user_video  這兩張表通過Union all進行聯合查詢,我前面有一篇文章介紹了union和union all 的區別,大家可以去瀏覽看一下,這裡不再進行介紹了。

首先通過語句查詢時候:語句如下:

SELECT v.folderID,'資料夾' AS TYPE,'error' AS error,'percentage' AS percentage,'access' AS access,'duration' AS duration,'uploadtime' AS uploadtime ,'videoStatus' AS videoStatus,v.userID,v.folderName FROM user_video_folder v UNION ALL SELECT p.userVideoID,'視訊' AS TYPE ,error,percentage,access,p.duration,uploadtime ,videoStatus,p.userID,p.videoName FROM user_video p

這個語句是正常的,可以查出來所需的欄位,剛開始是hql針對聯合查詢的varchar欄位會報錯:一下是解決方案連結:

http://blog.csdn.net/itzhanghao/article/details/47099881

現在吧字串型別解決掉了,但是又出現了另一個問題。就是time 和datetime .通過語句查詢顯示結果是正常的。但是JSP頁面顯示不正常。最終,我除錯了很多方案,最終決定查詢時候進行型別轉換:

首先是time 轉換:DATE_FORMAT(p.duration, '%H:%i:%S')

datetime 轉換  ,DATE_FORMAT(uploadtime, '%Y-%m-%d %H:%i:%S')這樣就把所有的顯示問題解決掉了