Cute Happy Ghost
본문 바로가기
DB/Postgresql

[postgresql]generate_series를 활용해 해당 날짜로 더미데이터 만들기

by JENN_tech7 2022. 8. 3.
728x90
SMALL

더미데이터를 만들어야되는데 조건이 필요했다

date는 1분 간격으로 들어와야하고,

데이터는 각각 해당하는 범위의 숫자여야했다

 

 

 

generate_series를 활용해 2022-08-02 5시부터 2022-08-02 5:10까지 30초 간격으로 넣어주는 쿼리문 예시

insert into test
  (test1,test2)
select series as no
     , substr('가나다라마바사아자차카타파하ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890', trunc(random() * 40)::integer + 1, trunc(random() * 10)::integer) as content
from generate_series('2022-08-02 17:00'::timestamp, '2022-08-02 17:10'::timestamp, '30 seconds') AS series;

그럼이런식으로 시간단위로 쪼개져서 넣어지는 것을 확인 할 수 있다

 

 

 

 

 

 

원하는 쿼리문 완성

 INSERT INTO test
(msur_date,  A,  B, C, D)
select  series 
		, round(cast(random() * (400-300+1) + 300  as numeric),2)
		,round(cast(random() * (700-300+1) + 300  as numeric),2)
		, round(cast(random() * (40-20+1) + 20  as numeric),2)
		,round(cast(random() * (70-40+1) + 40  as numeric),2)
from generate_series('2022-08-02 17:00'::timestamp, '2022-08-02 20:00'::timestamp, '1 minutes') AS series

잘뜨는 것 확인~

 

 

 

 

해당 범위 랜덤한 숫자 뽑기 

https://wogus789789.tistory.com/338?category=906744 

 

[postgresql]해당 범위의 랜덤한 숫자를 소수점 둘째자리수까지 뽑기, How to Generate a Random Number in a Ra

0과 1 사이의 난수를 반환하는 함수 SELECT random(); 두 정수 A와 B사이의 난수 생성하기 SELECT floor(random() * (A-B+1) + B)::int; 나는 300에서 900까지의 소수점두자리수의 랜덤한 숫자를 뽑고 싶었기때문..

wogus789789.tistory.com

 

728x90
LIST

댓글