以今日2019-8-7為例,則需獲取昨日到今日凌晨時間戳,1565020800 - 1565107200 完整日期格式為2019-8-6 0:00:00 - 2019-8-7 0:00:00
在mysql中使用時間戳時需要使用函式unix_timestamp()
則完整的sql語句為:
select
*from 表名
where 建立時間字段
between unix_timestamp(cast(sysdate()as
date)-
interval
1day
)and
unix_timestamp(cast(sysdate()as
date
))
以今日2019-8-7為例,則需獲取時間戳範圍為 1565107200 - 1565193600,完整的時間格式為2019-8-7 0:00:00 - 2019-8-8 0:00:00
select
*from 表名
where 建立時間字段
between unix_timestamp(cast(sysdate()as
date))
and unix_timestamp(cast(sysdate()as
date)+
interval
1day
)
create
procedure getdatabytablename(
in *** int
,in tb varchar
(255))
begin
if(*** =1)
then
set@sql
= concat(
'select * from '
,tb,
' where create_time between unix_timestamp(cast(sysdate()as date) - interval 1 day)
and unix_timestamp(cast(sysdate()as date))');
endif;if
(*** =2)
then
set@sql
= concat(
'select * from '
,tb,
' where create_time between unix_timestamp(cast(sysdate()as date))
and unix_timestamp(cast(sysdate()as date) + interval 1 day)');
endif
;prepare stmtt from
@sql
;execute stmtt;
end;
引數
意義***
標識是昨天還是今天
tb表名,可以是檢視名稱
記踩坑經歷,在in 引數後未指明型別大小報錯,參考一些資料都是未宣告型別大小,掙扎了很久,終於ok了。
mysql時間戳儲存
利用時間戳來區分資料庫中的兩條不同資料時,時間衝突是乙個簡單而又麻煩的東西,不管是高併發還是低請求的系統,時間衝突的概率依然存在,只是高低的問題。一般而言,對於時間衝突概率高的系統,一般是提高時間的精度來區分兩條資料,甚至加上如隨機數 程序id 伺服器id等。使用mysql資料庫時,可以利用mysq...
mysql關於時間戳
想讓mysql每條插入的資料中自動存入時間,精確毫秒,每次修改行的時候,自動存入時間,精確毫秒 如果只顯示年月日時分秒,則把6去掉即刻 create table test1 text varchar 30 createdtime timestamp 6 not null default curren...
關於mysql儲存過程
刪除 drop procedure if exists 名稱 建立例項 create procedure add caller myuid int,fwuid int,dt datetime,out returnvalue int begin declare exresult int declare...