Random 함수



 Postgres에서는 0에서부터 1.0 사이의 난수를 발생시키는 함수가 존재하는데 그것이 바로


RANDOM() 함수


 SQL Editor에서 select random() 을 실행하면 다음과 같이 0 ~ 1 사이의 난수를 발생시킨다.

 

  * postgres에서는 oracle과는 달리 함수를 사용할 경우 dual 테이블을 사용하지 않아도 select가 실행된다~!




이를 이용하여 원하는 시간이나 특정 숫자를 랜덤하게 생성하고 사용할 수 있다.


예를 들어 오늘의 랜덤 시간을 출력하고자 한다면


 = 오늘 날짜 + 랜덤 시간 + 랜덤 분 + 랜덤 초 



사용할 함수는 


 - now() : 오늘의 날짜를 date 형태로 출력한다. 


 - trunc() : 입력된 숫자를 정수의 형태로 변환한다.


 - random() : 0 ~ 1 사이의 난수를 출력한다.


 - to_char() : 숫자나 날짜를 문자로 변환해준다.




SQL Editor에서 


 select 오늘 날짜 , 랜덤 시간 , 랜덤 분 , 랜덤 초   를 표현하고자 한다면 함수를 응용하여


 select to_char(now(), 'YYYYMMDD') as 날짜 ,

         to_char(random()*24, '00') as 시간 ,

         to_char(random()*60, '00') as 분 , 

         to_char(random()*60, '00') as 초


 



다음과 같은 결과를 얻을 수 있습니다~


 오늘은 ~ 여기까지 ~ ^^



'GIS 개발 > Postgres' 카테고리의 다른 글

PostgreSQL PK 설정  (0) 2018.06.12
PostgreSQL 인덱스, 시퀀스, 함수  (0) 2018.06.01

+ Recent posts