집 >데이터 베이스 >MySQL 튜토리얼 >mysql에서는 어떤 유형의 시간이 사용됩니까?
시간 유형에는 세 가지 유형이 있습니다. 1. TIME 유형, 시간 정보만 필요한 값에 사용됩니다. 저장에는 3바이트가 필요하며 형식은 "HH:MM:SS"입니다. 2. DATETIME 유형, 사용됩니다. 동시가 필요한 값의 경우 날짜 및 시간 정보가 포함된 값은 "YYYY-MM-DD HH:MM:SS" 형식으로 저장 시 8바이트가 필요합니다. 3. TIMESTAMP 유형, 필요한 값에 사용됩니다. 날짜와 시간 정보를 모두 포함하려면 4바이트 단위로 저장해야 하며 형식은 "YYYY-MM-DD HH:MM:SS"입니다.
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
MySQL에는 YEAR, TIME, DATE, DTAETIME, TIMESTAMP 등 날짜와 시간을 나타내는 다양한 데이터 유형이 있습니다. 연도 정보만 기록할 때는 YEAR 유형만 사용할 수 있습니다.
각 유형에는 유효한 값 범위가 있습니다. 잘못된 값이 지정되면 시스템은 데이터베이스에 "0" 값을 삽입합니다.
표현할 수 있는 시간은 세 가지 유형이 있습니다.
유형 이름 | 시간 형식 | 날짜 범위 | 저장 요구 사항 |
---|---|---|---|
TIME | HH:MM:SS | -838:59:59 ~ 838:59:59 | 3단어 섹션 |
DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 8바이트 |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC | 4바이트 |
TIME 유형
TIME 유형은 시간 정보만 필요한 값에 사용되며 저장에는 3바이트가 필요합니다. 형식은 HH:MM:SS입니다. HH는 시간, MM은 분, SS는 초를 나타냅니다.
TIME 유형의 값 범위는 -838:59:59~838:59:59입니다. 시간 부분이 이렇게 큰 이유는 TIME 유형이 하루 중 시간을 나타내는 데만 사용될 수 없기 때문입니다(반드시 24시간 미만)일 수도 있지만 이벤트 이후의 특정 시간일 수도 있고 두 이벤트 사이의 시간(24시간보다 길거나 음수일 수도 있음)일 수도 있습니다.
TIME 값은 아래와 같이 다양한 형식을 사용하여 지정할 수 있습니다.
'D HH:MM:SS' 형식 문자열입니다. 'HH:MM:SS', 'HH:MM', 'D HH' 또는 'SS'와 같은 "엄격하지 않은" 구문도 사용할 수 있습니다. 여기서 D는 일을 나타내며 0에서 34 사이의 값을 가질 수 있습니다. 데이터베이스에 삽입할 때 D는 시간으로 변환되어 "D*24+HH" 형식으로 저장됩니다.
'HHMMSS' 형식, 구분 기호가 없는 문자열 또는 의미 있는 시간을 가정한 HHMMSS 형식의 숫자 값입니다. 예를 들어 '101112'는 '10:11:12'로 이해되지만 '106112'는 유효하지 않으며(의미 없는 분 부분이 있음) 저장되면 00:00:00이 됩니다.
팁: TIME 열에 약어 값을 할당할 때 주의하세요. 콜론이 없으면 MySQL은 값을 해석할 때 가장 오른쪽 두 자리가 초를 나타내는 것으로 가정합니다. (MySQL은 TIME 값을 현재 시간이 아닌 과거 시간으로 해석합니다.) 예를 들어 독자는 '1112'와 1112가 11:12:00(즉, 11시 이후 12분)을 의미한다고 생각할 수 있지만 MySQL은 이를 00:11:12(즉, 11분 12초)로 해석합니다. ). 마찬가지로 '12'와 12는 00:00:12로 해석됩니다. 반대로 TIME 값에 콜론을 사용하면 확실히 오늘의 시간으로 간주된다. 즉, '11:12'는 00:11:12가 아닌 11:12:00을 의미한다.
DATETIME 유형
DATETIME 유형은 날짜와 시간 정보를 모두 포함해야 하는 값에 사용되며 저장에는 8바이트가 필요합니다. 날짜 형식은 'YYYY-MM-DD HH:MM:SS'이며, 여기서 YYYY는 연도, MM은 월, DD는 일, HH는 시간, MM은 분, SS는 초를 나타냅니다.
DATETIME 유형의 필드에 값을 할당할 때 아래와 같이 DATETIME의 날짜 형식을 준수하는 한 문자열 유형 또는 숫자 유형 데이터를 사용하여 삽입할 수 있습니다.
'YYYY-MM을 사용합니다. -DD HH:MM :SS' 또는 'YYYYMMDDHHMMSS' 문자열 형식으로 표현되는 날짜이며, 값 범위는 '1000-01-01 00:00:00' ~ '9999-12-3 23:59:59'입니다. 예를 들어 '2014-12-31 05:05:05' 또는 '20141231050505'를 입력하면 데이터베이스에 삽입되는 DATETIME 값은 2014-12-31 05:05:05가 됩니다.
'YY-MM-DD HH:MM:SS' 또는 'YYMMDDHHMMSS' 문자열 형식으로 표현되는 날짜입니다. 여기서 YY는 두 자리 연도 값을 나타냅니다. 이전과 동일하게 '00~79' 범위의 연도 값은 '2000~2079'로 변환되고, '80~99' 범위의 연도 값은 '1980~1999'로 변환됩니다. 예를 들어, '14-12-31 05:05:05'를 입력하면 데이터베이스에 삽입된 DATETIME은 2014-12-31 05:05:05이고, 141231050505를 입력하면 데이터베이스에 삽입된 DATETIME은 2014입니다. -12-31 05:05:05 .
YYYYMMDDHHMMSS 또는 YYMMDDHHMMSS 숫자 형식으로 표현된 날짜 및 시간입니다. 예를 들어, 20141231050505를 입력하면 데이터베이스에 삽입된 DATETIME은 2014-12-31 05:05:05이고, 140505050505를 입력하면 데이터베이스에 삽입된 DATETIME은 2014-12-31 05:05:05입니다.
팁: MySQL은 "완화된" 구문을 허용합니다. 구두점은 날짜 부분이나 시간 부분 사이의 구분 기호로 사용할 수 있습니다. 예를 들어 '98-12-31 11:30:45', '98.12.31 11+30+35', '98/12/31 11*30*45' 및 '98@12@31 11^30^ 45'는 동일하며 이 값은 데이터베이스에 올바르게 삽입될 수 있습니다.
TIMESTAMP 유형
TIMESTAMP는 DATETIME과 동일한 표시 형식을 가지며 표시 너비는 19자로 고정되고 날짜 형식은 YYYY-MM-DD HH:MM:SS이며 저장에 4바이트가 필요합니다. 다만, TIMESTAMP 컬럼의 값 범위는 DATETIME의 값 범위인 '1970-01-01 00:00:01'UTC~'2038-01-19 03:14:07'UTC보다 작다. 데이터를 삽입할 때 유효한 값 범위 내에 있는지 확인하십시오.
팁: 협정 세계시(영어: 협정 세계시, 프랑스어: Temps Universel Coordonna)는 세계 통일시(Universal Unified Time), 세계 표준시(Universal Standard Time), 국제 협정시(International Coordinated Time)라고도 합니다. 영어(CUT)와 프랑스어(TUC) 약어가 다르며 절충안으로 약어는 UTC입니다.
TIMESTAMP 및 DATETIME은 다양한 저장 바이트 및 지원 범위 외에도 가장 큰 차이점은 다음과 같습니다.
DATETIME 날짜 데이터를 저장할 때 실제 입력 형식으로 저장됩니다. 즉, 입력되는 모든 내용이 저장됩니다. 시간대에 관계없이
TIMESTAMP 값은 UTC(Universal Coordinated Time) 형식으로 저장되며, 저장 시 현재 시간대로 변환되고, 검색 시 다시 현재 시간대로 변환됩니다. 즉, 쿼리 시 현재 시간대에 따라 표시되는 시간 값이 다릅니다.
팁: DATETIME 또는 TIMESTAMP 객체에 DATE 값을 할당하면 결과 값의 시간 부분이 '00:00:00'으로 설정되므로 DATE 값에는 시간 정보가 포함되지 않습니다. DATE 객체에 DATETIME 또는 TIMESTAMP 값이 할당되면 결과 값의 시간 부분이 제거되므로 DATE 값에는 시간 정보가 포함되지 않습니다.
【관련 추천: mysql 비디오 튜토리얼】
위 내용은 mysql에서는 어떤 유형의 시간이 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!