mysql 如何插入乙個範圍內的時間戳

2021-07-24 18:56:30 字數 1652 閱讀 9059

問題:插入2023年1月到11月之間的隨機時間戳。

方案:

定義兩個變數,並用concat實現連線。

set @dates= concat(floor(2016 + (rand() * 1)),'-',lpad(floor(1 + (rand() * 11)),2,0),'-',lpad(floor(3 + (rand() * 8)),2,0));

set @time= concat(lpad(floor(0 + (rand() * 23)),2,0),':',lpad(floor(0 + (rand() * 59)),2,0),':',lpad(floor(0 + (rand() * 59)),2,0));

concat(@dates,' ',@time)

例項sql「」

/*門診裝置資料*/

drop procedure if exists out_patient_device;

create procedure out_patient_device()

begin

declare num int default 0; 

declare patientid int default 2000;

declare devicesn int default 10100;

declare ids int default 1001;

truncate table patient_device_relation;

while num<10000 do

/*rand()取是是乙個0和1之間的隨機小數,floor(x)返回不大於x的最大整數,floor(1.8)等於1*/

/*floor(2016 + (rand() * 1)取2023年,floor是取整函式*/

/*lpad(floor(8 + (rand() * 3)),2,0)取9-11月之間的月份,並且lpad在月份之間填充0,如果大於兩位,則不填充。如9月份則是09,10月是10*/

/*lpad(floor(1+(rand() * 30)),2,0)取1-30號*/

set @dates= concat(floor(2016 + (rand() * 1)),'-',lpad(floor(9 + (rand() * 3)),2,0),'-',lpad(floor(1 + (rand() * 29)),2,0));

set @time= concat(lpad(floor(0 + (rand() * 23)),2,0),':',lpad(floor(0 + (rand() * 59)),2,0),':',lpad(floor(0 + (rand() * 59)),2,0));

insert into patient_device_relation (id, patient_id, device_sn, device_type, bind_time, unwrap_time)

values (ids, patientid, devicesn, '親智',concat(@dates,' ',@time), null);

set num=num+1;

set patientid=patientid+1;

set ids=ids+1;

set devicesn=devicesn+1;

end while;

end;

求乙個範圍內的素數

學演算法時候,求素數總是一道逃不掉的練習題。好久沒寫演算法相關的練習了,學習了python 就拿它來練一下手吧。在求素數之前,首先我們了解一下 什麼是素數。按維基百科的說法是 素數指在大於1的自然數中,除了1和此整數自身外,無法被其他自然數整除的數 也可定義為只有1和本身兩個因數的數 因此我們可以總...

C ,利用陣列求乙個範圍內的質數

質數 prime number 又稱素數,有無限個。除了1和它本身以外不再有其他的因數 否則稱為合數。根據算術基本定理,每乙個比1大的整數,要麼本身是乙個質數,要麼可以寫成一系列質數的乘積 而且如果不考慮這些質數在乘積中的順序,那麼寫出來的形式是唯一的。最小的質數是2。int n 100 bool ...

C 中如何在乙個範圍內產生隨機數

要取得 a,b 的隨機整數,使用 rand b a a 要取得 a,b 的隨機整數,使用 rand b a 1 a 要取得 a,b 的隨機整數,使用 rand b a a 1 通用公式 a rand n 其中的a是起始值,n是整數的範圍。要取得a到b之間的隨機整數,另一種表示 a int b ran...