SqlServer和Mysql 時間字段格式化

在設計數據庫報表中時間字段時,有的時候可以設計爲DateTime類型,但是在有的情況下,我們需要設計成BigInt類型,然後再持久化的時候可以傳入但時間的毫秒數(當然這個毫秒數是距離1970-01-01 08:00:00.000這個時間點的大笑),所以在數據查詢的時候需要顯示能夠看懂的時間格式,而不是毫秒數。如下:

  

  這個prize_time字段便是毫秒數,所以需要轉換,在SqlServer中進行查詢的時候,可以用DATEADD函數,函數具體的用法:

定義和用法

     DATEADD() 函數在日期中添加或減去指定的時間間隔。

語法

DATEADD(datepart,number,date)

date 參數是合法的日期表達式。number 是您希望添加的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數。

datepart 參數可以是下列的值:

datepart 縮寫
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小時 hh
分鐘 mi, n
ss, s
毫秒 ms
微妙 mcs
納秒 ns

這個函數可以進行轉換,本例中可以用dateadd(S,[prize_time]/1000,'1970-01-01 08:00:00') prize_time進行轉化




Mysql數據庫:


格式化毫秒數時間

SELECT FROM_UNIXTIME(start_time/1000,'%Y-%m-%d %H:%i:%s') ,end_time  FROM new_notify.`crm_bubble`
SELECT FROM_UNIXTIME(substr(start_time,1,10)) FROM crm_bubble
上面兩條都可以在Mysql數據庫中將毫秒數轉化爲人類能夠看懂的日期。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章