Cute Happy Ghost
본문 바로가기
728x90
SMALL

DB/Postgresql22

[postgresql] 현재시간, 시간 yyyy-mm-dd hh24:mi:ss 등으로 포맷하여 변환하기, interval 사용하여 현재시간보다 10분전 조회 내가 원하는 것: 현재 시간의 분까지의 데이터를 조회하는 것 예 : 2022-08-04 11:30의 데이터를 조회하기, 현재시간을 원하는 형태로 포맷하여 조회 select to_timestamp('2013-11-24 11:29:87', 'YYYY-MM-DD HH24:MI'); select to_timestamp(now()::varchar, 'YYYY-MM-DD HH24:MI'); 예: 현재시간보다 10분전의 시간 to_timestamp((now() - interval '10 minute')::varchar, 'YYYY-MM-DD HH24:MI') 참고ref https://stackoverflow.com/questions/20180460/how-to-convert-yyyymmddhhmmss-to-2013-.. 2022. 8. 4.
[postgresql]generate_series를 활용해 해당 날짜로 더미데이터 만들기 더미데이터를 만들어야되는데 조건이 필요했다 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-.. 2022. 8. 3.
[postgresql]해당 범위의 랜덤한 숫자를 소수점 둘째자리수까지 뽑기, How to Generate a Random Number in a Range 0과 1 사이의 난수를 반환하는 함수 SELECT random(); 두 정수 A와 B사이의 난수 생성하기 SELECT floor(random() * (A-B+1) + B)::int; 나는 300에서 900까지의 소수점두자리수의 랜덤한 숫자를 뽑고 싶었기때문에 round(cast(random() * (400-300+1) + 300 as numeric),2) 이런식으로 만들어주었다 음 잘 뜨는군 참고 ref https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-random-range/ How to Generate a Random Number in A Range Summary: this tutorial shows you how to develop.. 2022. 8. 3.
[postgresql] table join하여 여러개 행 update, select하여 여러칼럼 update layer_test에 있는 xy(위경도)값을 tableA에 있는 lat,lot으로 넣어줘야했다 데이터 한두개면 select하여 update로 수정하면 되는데 생각보다 많아서 join하여 update하는 방법을 썼다 UPDATE..SET..FROM ..WHERE..문을 쓰면 된다 여러개의 컬럼을 update하고싶을때도 ,(콤마)로 구분해줘서 실행하면 된다 UPDATE tableA AS t SET lat = lt.y , lot = lt.x FROM layer_test AS lt WHERE t.sn = lt.sn ; 2022. 6. 24.
728x90
LIST