MySQL 의 DataADD 함수 와 날짜 포맷 함수 설명
키워드 INTERVA 및 type 분류 부 호 는 대소 문 자 를 구분 하지 않 습 니 다.
다음 표 는 type 과 expr 매개 변수의 관 계 를 보 여 줍 니 다.
type 값
예상 expr 형식
MICROSECOND
MICROSECONDS
SECOND
SECONDS
MINUTE
MINUTES
HOUR
HOURS
DAY
DAYS
WEEK
WEEKS
MONTH
MONTHS
QUARTER
QUARTERS
YEAR
YEARS
SECOND_MICROSECOND
'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND
'MINUTES.MICROSECONDS'
MINUTE_SECOND
'MINUTES:SECONDS'
HOUR_MICROSECOND
'HOURS.MICROSECONDS'
HOUR_SECOND
'HOURS:MINUTES:SECONDS'
HOUR_MINUTE
'HOURS:MINUTES'
DAY_MICROSECOND
'DAYS.MICROSECONDS'
DAY_SECOND
'DAYS HOURS:MINUTES:SECONDS'
DAY_MINUTE
'DAYS HOURS:MINUTES'
DAY_HOUR
'DAYS HOURS'
YEAR_MONTH
'YEARS-MONTHS'
MySQL 은 expr 형식의 구두점 구분 자 를 허용 합 니 다.표 에 표 시 된 것 은 건의 하 는 구분자 입 니 다.만약 date 인자 가 DATE 값 이 라면,당신 의 계산 은 YEAR,MONTH,DAY 부분(즉,시간 부분 이 없 음)만 포함 되 고,그 결 과 는 DATE 값 입 니 다.그렇지 않 으 면 결 과 는 DATETIME 값 이 될 것 이다.
다른 쪽 에 있 는 표현 식 이 날짜 나 날짜 시간 값 이 라면 INTERVAL expr type 은+연산 자의 양 끝 에 만 사용 할 수 있 습 니 다.C 연산 자 에 대해, INTERVAL expr type 은 오른쪽 끝 에 만 사용 할 수 있 습 니 다.한 시간 간격 에서 날짜 나 날짜 시간 값 을 추출 하 는 것 은 무의미 하기 때 문 입 니 다.(아래 의 예 를 보십시오.
mysql> SELECT '1997-12-31 23:59:59' + INTERVAL 1 SECOND;
-> '1998-01-01 00:00:00'
mysql> SELECT INTERVAL 1 DAY + '1997-12-31';
-> '1998-01-01'
mysql> SELECT '1998-01-01' - INTERVAL 1 SECOND;
-> '1997-12-31 23:59:59'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL 1 SECOND);
-> '1998-01-01 00:00:00'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL 1 DAY);
-> '1998-01-01 23:59:59'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL '1:1' MINUTE_SECOND);
-> '1998-01-01 00:01:00'
mysql> SELECT DATE_SUB('1998-01-01 00:00:00',
-> INTERVAL '1 1:1:1' DAY_SECOND);
-> '1997-12-30 22:58:59'
mysql> SELECT DATE_ADD('1998-01-01 00:00:00',
-> INTERVAL '-1 10' DAY_HOUR);
-> '1997-12-30 14:00:00'
mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
-> '1997-12-02'
mysql> SELECT DATE_ADD('1992-12-31 23:59:59.000002',
-> INTERVAL '1.999999' SECOND_MICROSECOND);
-> '1993-01-01 00:00:01.000001'
만약 당신 이 너무 짧 은 시간 간격 값(type 키워드 가 예상 하 는 모든 시간 간격 부분 을 포함 하지 않 음)을 지정 했다 면,MySQL 은 시간 간격 값 의 가장 왼쪽 부분 을 절약 했다 고 가정 합 니 다.예 를 들 어,당신 은 일종 의 DAY 를 지정 하 였 습 니 다.SECOND,expr 의 값 은 하늘,시간,분,초 부분 이 있어 야 합 니 다.'1:10'과 유사 한 값 을 지정 하면 MySQL 은 날짜 와 시간 부분 이 존재 하지 않 는 다 고 가정 하면 이 값 은 분 과 초 를 대표 합 니 다.다시 말 하면'1:10'DAYSECOND 는'1:10'에 해당 하 는 MINUTE 로 해 석 됩 니 다.SECOND。이 는 마 이 SQL 이 TIME 값 을 일시에 해석 하 는 방식 이 아니 라 소요 되 는 시간 으로 해석 한 셈 이다.
만약 당신 이 날짜 값 에 시간 부분 을 포함 하 는 내용 을 추가 하거나 빼 면 결 과 는 자동 으로 날짜 시간 값 으로 전 환 됩 니 다.
mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 DAY);
-> '1999-01-02'
mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 HOUR);
-> '1999-01-01 01:00:00'
형식 이 심각하게 잘못된 날 짜 를 사용 했다 면 결 과 는 NULL 입 니 다.하면,만약,만약... MONTH、YEAR_MONTH 또는 YEAR,결과 날짜 중 하루 의 날짜 가 추 가 된 달의 날짜 보다 많 으 면 이 날 짜 는 자동 으로 추 가 된 달의 최대 날짜 로 조 정 됩 니 다.
mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);
-> '1998-02-28'
다음 설명 자 는 format 문자열 에 사용 할 수 있 습 니 다.
설명자
설명 하 다.
%a
근무일 의 줄 임 말 이름 (Sun..Sat)
%b
달의 줄 임 말 이름 (Jan..Dec)
%c
월,숫자 형식(0.12)
%D
영어 접미사 가 있 는 이 달 날짜 (0th, 1st, 2nd, 3rd, ...)
%d
이 달 날짜,숫자 형식(00..31)
%e
이 달 날짜,숫자 형식(0..31)
%f
마이크로 초(000000.99999)
%H
시간(00.23)
%h
시간(01.12)
%I
시간(01.12)
%i
분,숫자 형식(00.59)
%j
연중 일수(001.366)
%k
시간(0.23)
%l
시간(1.912)
%M
월 이름(January.December)
%m
월,숫자 형식(00.12)
%p
오전(AM)또는 오후(PM)
%r
시간,12 시간 제(시간 hh:분 mm:초 ss 후 AM 또는 PM 추가)
%S
초(00.59)
%s
초(00.59)
%T
시간,24 시간 제(시간 hh:분 mm:초 ss)
%U
주(00.53),그 중 일요일 은 매주 첫날 이다.
%u
주(00.53),그 중 월요일 은 매주 첫날 이다.
%V
주(01.53),그 중에서 일요일 은 매주 첫날 이다.%X 와 함께 사용
%v
주(01.53),그 중 월요일 은 매주 첫날 이다.%x 와 동시에 사용
%W
워킹 데 이 이름(일요일..토요일)
%w
일주일 중 매일(0=일요일.6=토요일)
%X
이번 주의 연도,그 중에서 일요일 은 매주 첫날 이 고 숫자 형식,네 자리 이다.%V 와 동시에 사용
%x
이번 주 연도 중 월요일 은 매주 첫날,숫자 형식,네 자리 수 입 니 다.%v 와 동시에 사용
%Y
연도,숫자 형식,네 자리 수
%y
연도,숫자 형식(2 자리)
%%
'%'문자
모든 다른 문 자 는 결과 에 복사 되 어 설명 할 필요 가 없습니다.
'%'문 자 는 형식 지정 자 이전에 요구 합 니 다.
달 과 날짜 설명자 의 범 위 는 0 에서 시작 되 는데 그 이 유 는 MySQL 이'2004-00-00'과 같은 불완전한 날 짜 를 저장 할 수 있 기 때문이다.
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
-> 'Saturday October 1997'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
'%D %y %a %d %m %b %j');
-> '4th 97 Sat 04 10 Oct 277'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
-> '1998 52'
(4567913)(4567913)(4567913)(4567913)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단하고 알기 쉬운 js 날짜 포맷 함수텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.