2013-01-07 3 views
3

내가 임의 유닉스 타임 스탬프를 생성하기 위해 노력 만이 예를 발견하고 타임 스탬프 :이 임의의 시간을 생성하는 작업무작위 유닉스는 MySQL의

SELECT from_unixtime(
     unix_timestamp('2008-01-01 01:00:00')+floor(rand()*31536000) 
); 

을하지만은이 형식 2008-06-16 14:14:38로 시간을 재 변환 아니요 원하는 형식입니다. UTC-5에서 결과가 유닉스 타임 스탬프 (예 : 1357597694)가되도록하고 싶습니다.

내가 원하는 것은 유출 한 유닉스 타임 스탬프가 얼마나 많은 유닉스 타임 스탬프 형태로되어 있는지 알려주고 싶다. 그게 다야. 나는 왜 이것에 관한 게시물이 없는지 아직 보지 못했다.

편집 한

확인 내가 사이에 임의의 날짜를 선택해야합니다 말할 수 확인 살만 1354439504 & 1357599297 난 MySQL의 스크립트에서

+2

그래서 (은'FROM_UNIXTIME 제거)의'에 타임 스탬프를 변환 : 쿼리를 사용하여 1000 랜덤 타임 스탬프는, 많은 행이있는 테이블, 모든 테이블을 사용 문자열? –

+0

[문서] (http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime)에 북마크하고 싶을 수도 있습니다. 귀하의 결과 ;-) – Leigh

답변

4

당신이 단지 유닉스 타임 스탬프를 다음 원한다면 그렇게 얼마나 from_unixtime 건너 뛰기 :

select unix_timestamp('2008-01-01 01:00:00')+floor(rand()*31536000) 
+0

에그 감사합니다. 나는 당신에게 도움을 요청하여 돈을 지불하고 싶습니다. 이것은 실망 스럽습니다. 이제 한 번에 50 또는 10을 만드는 방법을 예를 들어 –

5

1은 UNIX 타임 스탬프입니다. 그래서 2입니다. 123456789도 마찬가지입니다. UNIX timestamp은 정수입니다. 임의의 정수를 생성하는 규칙을 사용할 수 있습니다. MySQL의에서 당신은 단순히 범위 [0, 9]에서 임의의 정수를 생성하려면 다음을 작성할 수

SELECT FLOOR(RAND() * 10) 

다음과 같이 위의 범위 [min, max]에서 난수를 생성하기 위해 수정할 수 있습니다

SELECT 1354439504 + FLOOR(RAND() * (1357599297 - 1354439504 + 1)) 

것은 생성하려면

SELECT 1354439504 + FLOOR(RAND() * (1357599297 - 1354439504 + 1)) 
FROM table_with_1000plus_rows 
LIMIT 1000 
+0

으로 말합니다. 1354439504 및 1357599297 사이에 무작위 날짜를 선택해야합니다. 그 다음에 mysql 스크립트를 수행하는 방법은 무엇입니까 –

+0

확인을 기다리는 것이 좋습니다 –

+0

수정 된 답변 참조. –

관련 문제