SQL中from_unixtime函數的使用方法實例

1.from_unixtime的語法及用法

(1)語法:from_unixtime(timestamp ,date_format)

即from_unixtime(時間戳 ,日期格式

參數說明

timestamp :時間戳,可為一串數字,也可為字段。

date_format:時間格式,不填默認為%Y-%m-%d %H:%i:%s的格式。

(2)用法:將時間戳轉為指定日期格式。

(3)常見的日期格式

日期格式 說明
%Y 年,4位數字,如1999
%y 年,2位數字,如00
%M 月,英文月份,如January
%b 月,縮寫的月份名字,如Jan
%m 月,數字(01……12)
%c 月,數字(1……12)
%W 星期,名字,如Sunday
%a 星期,縮寫的名字,如Sun
%D 天,有英文前綴的天日期,如1st
%d 天,月份中的天數,數字(01……31)
%e 天,月份中的天數,數字(1……31)
%H 小時,數字(00……23)
%k 小時,數字(0……23)
%h 小時,數字(01……12)
%l 小時,數字(1……12)
%r 時間,12 小時(hh:mm:ss [AP]M)
%T 時間,24 小時(hh:mm:ss)
%S 秒(00~59)
%s 秒(00~59)

2.實例

例:現有一個產品信息表product,timestamp儲存產品入庫時間戳,產品名為name。獲取入庫時間為2020-02-01之後的每個產品信息及入庫時間。

select ID,name,from_unixtime((timestamp + 8*3600),"%Y%-m-%d") as date
from product
where from_unixtime((timestamp + 8*3600),"%Y-%m-%d")>='2020-02-01'
 
或
 
select ID,name,from_unixtime((timestamp + 8*3600),"%Y-%m-%d %H:%i:%s") as date
from product
where from_unixtime((timestamp + 8*3600),"%Y-%m-%d")>='2020-02-01'
 
或
 
select ID,name,from_unixtime((timestamp + 8*3600),"yyyyMMdd") as date
from product
where from_unixtime((timestamp + 8*3600),"yyyy-MM-dd")>='2020-02-01'

因為想要獲取北京時間的日期,存在時區問題,時間戳為GMT(格林尼治標準時間)需要加上8小時的時差轉為北京時間。可根據實際情況轉時差。

參考文章:mysql 時間戳格式化函數from_unixtime使用說明

時間戳的時區問題可參考: https://www.jb51.net/article/261129.htm

總結

到此這篇關於SQL中from_unixtime函數使用方法的文章就介紹到這瞭,更多相關SQL from_unixtime函數使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: