programing

MYSQL - 날짜/초

lovejava 2023. 8. 7. 22:15

MYSQL - 날짜/초

MySQL에서 DATTIME 값을 초 단위로 가져오는 방법을 찾을 수 없었습니다(구글, mysql 참조 매뉴얼 읽기).

날짜 시간에서 초를 추출하려는 것이 아니라 초로 변환하려는 것입니다.

"초로 변환"이 "UNIX 타임스탬프로 변환"(즉, 이후의 초 수)을 의미하는 경우 다음 기능을 사용할 수 있습니다.

select UNIX_TIMESTAMP(your_datetime_field)
from your_table
where ...


또한 완전성을 위해 유닉스 타임스탬프에서 날짜 시간으로 변환하는 기능을 사용할 수 있습니다.

두 DATTIME 값 사이의 차이를 가지려면 다음을 사용합니다.

TIMESTAMP DIFF(단위, datetime_expr1, datetime_expr2)

돌아온다datetime_expr2 – datetime_expr1,어디에datetime_expr1그리고.datetime_expr2날짜 또는 날짜 시간 식입니다.한 식은 날짜이고 다른 식은 날짜 시간일 수 있습니다. 필요한 경우 날짜 값은 시간 부분이 '00:00:00'인 날짜 시간으로 처리됩니다.결과의 단위(정수)는 unit 인수로 지정됩니다.단위의 법적 값은 다음의 설명에 나열된 값과 동일합니다.TIMESTAMPADD()기능.

mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');  
    -> 3  



mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');  
    -> -1  


mysql> SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55');  
    -> 128885

unit될 수도 있습니다.HOUR그것은 당신이 댓글 중 하나에서 요청한 것입니다.

unit 인수는 다음 중 하나일 수 있습니다.

  • 마이크로초
  • 둘째
  • 극히 작은
  • 시간
  • 데이
  • 일주일
  • 4분의 1
  • 연도

물론 다른 옵션 중 일부의 유용성 수준은 데이터의 세분성에 따라 결정됩니다.예를 들어 DATTIME 값에 마이크로초를 저장하지 않는 경우 "MICROSECOND"는 제한적으로 사용됩니다.

mysql에 대해 이전 버전의 TIME_TO_SEC 사용

테이블에서 TIME_TO_SEC(시간 열) 선택

나는 mysql에서 사용했습니다.

날짜를 0년에서 초로 변환하는 TO_SEConds(날짜 지정) 메서드

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

UNIX_TIMestamp(datetime) 함수는 unix 시간을 반환합니다. 이 시간은 1-Jan-19700000 UTC 이후의 초 수입니다.그것이 여러분이 필요로 하는 것일 수도 있지만, 여러분이 생년월일, 역사적인 날짜, 또는 2037년 이후의 날짜를 다루는 경우에는 그렇지 않습니다.

mysql 5.5.0부터 사용 가능to_seconds()

TO_SECONDS(FIELD_NAME)

Field_NAME은(는) 다음과 같아야 합니다.DATETIME유형

귀하의 문제에 대해 직접 쿼리를 작성했습니다.

SELECT HOUR(`colname`) * 3600 + MINUTE(`colname`) * 60 + SECOND(`colname`)
FROM widgets
WHERE id = 1;
  • 사용하다id = 1특정 행을 선택해야 하는 경우.
  • 출력은 초 단위입니다.

언급URL : https://stackoverflow.com/questions/2438828/mysql-datetime-to-seconds