Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL EXTRACT() 함수에서 어떤 종류의 복합 단위를 사용할 수 있습니까?


MySQL EXTRACT() 함수는 다음 복합 단위를 사용할 수 있습니다 -

  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • HOUR_MICROSECOND
  • DAY_MICROSECOND
  • MINUTE_SECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

EXTRACT() 함수에서 사용되는 이러한 복합 단위의 일부 예는 다음과 같습니다. -

mysql> Select EXTRACT(YEAR_MONTH from '2017-10-20');
+---------------------------------------+
| EXTRACT(YEAR_MONTH from '2017-10-20') |
+---------------------------------------+
|                             201710    |
+---------------------------------------+
1 row in set (0.00 sec)

위 쿼리는 날짜의 연도와 월 값을 반환합니다.

mysql> Select EXTRACT(DAY_HOUR from '2017-10-20 05:46:45');
+----------------------------------------------+
| EXTRACT(DAY_HOUR from '2017-10-20 05:46:45') |
+----------------------------------------------+
|                                         2005 |
+----------------------------------------------+
1 row in set (0.00 sec)

위의 쿼리는 날짜에서 날짜와 시간 값을 반환합니다.

위에서 언급한 복합 단위는 완전한 값 집합이라는 점을 고려해야 합니다. 즉, DAY_MINUTE를 사용하면 MySQL은 DAY, HOUR 및 MINUTE를 반환합니다. 일반적으로 예상되는 값이 시작 단위와 끝 단위 사이에 채워진다는 의미입니다.

예를 들어, 아래 쿼리는 DAY_MICROSECOND 복합 단위를 사용하고 MySQL은 DAY, HOUR, MINUTE, SECOND 및 MICROSECOND를 반환합니다. DAY와 MICROSECOND 사이에 HOUR, MINUTE, SECOND 값이 채워진다는 의미입니다.

mysql> Select EXTRACT(DAY_MICROSECOND from '2017-10-22 05:52:45.102356');
+---------------------------------------------------------------------------+
| EXTRACT(DAY_MICROSECOND from '2017-10-22 05:52:45.102356')                |
+---------------------------------------------------------------------------+
|                                                            22055245102356 |
+---------------------------------------------------------------------------+
1 row in set (0.00 sec)