본문 바로가기
MySql

MySQL은 주어진 datetime 범위에 임의의 datetime을 삽입합니다.

by 베이스 공부 2021. 2. 2.
반응형

SQL을 사용하면 범위를 제공하는 열에 임의의 datetime 값을 삽입 할 수 있습니까?

예를 들어 2010-04-30 14:53:27 에서 2012-04-30 14:53:27 사이의 범위가 주어집니다.

범위 부분과 혼동되고 있습니다. 내가 방금 한 것처럼

INSERT INTO `sometable` VALUES (RND (DATETIME())) 

 

해결 방법

 

다음은 도움이되는 예입니다.

INSERT INTO `sometable` VALUES(
    FROM_UNIXTIME(
        UNIX_TIMESTAMP('2010-04-30 14:53:27') + FLOOR(0 + (RAND() * 63072000))
    )
)

날짜 2010-04-30 14:53:27 을 기준으로 사용하고이를 Unix 타임 스탬프로 변환하고 0에서 +2 년 사이의 임의의 초 수를 기준 날짜에 추가하고 다시 DATETIME으로 변환합니다.

꽤 가깝지만 장기간에 걸쳐 윤년과 다른 조정으로 인해 실패 할 것입니다.

 

참조 페이지 https://stackoverflow.com/questions/11906572

 

 

반응형

댓글