> 데이터 베이스 > MySQL 튜토리얼 > MySQL 학습에서 날짜 함수의 사용법에 대한 자세한 설명

MySQL 학습에서 날짜 함수의 사용법에 대한 자세한 설명

WBOY
풀어 주다: 2022-08-15 20:19:07
앞으로
1947명이 탐색했습니다.

이 기사에서는 mysql에 대한 관련 지식을 제공합니다. 시스템 시간 함수 가져오기, 날짜 형식 지정 기능 등을 포함한 MySQL의 날짜 함수를 주로 소개합니다. 모두에게 도움이 되기를 바랍니다.

MySQL 학습에서 날짜 함수의 사용법에 대한 자세한 설명

추천 학습: mysql 비디오 튜토리얼

시스템 시간 함수 가져오기

"NOW()" 함수는 다음 형식으로 현재 시스템 날짜와 시간을 가져올 수 있습니다: "YYYY-MM-DD hh: mm:ss" (여기서 시간 단위는 24시간 형식입니다.)

"CURDATE()" 함수는 "YYYY-MM-DD" 형식으로 현재 시스템 날짜를 가져올 수 있습니다.

"CURTIME() " 함수는 현재 시스템 시간을 가져올 수 있으며 형식은 다음과 같습니다: "hh:mm:ss"(24시간 형식)

SELECT NOW();            -- 返回结果 "2020-06-10 17:22:51"  (示例)
로그인 후 복사
SELECT CURDATE();        -- 返回结果 "2020-06-10"
로그인 후 복사
SELECT CURTIME();        -- 返回结果 "17:22:52"
로그인 후 복사

날짜 형식 지정 함수

"DATE_FORMAT()" 함수는 날짜 형식을 지정하는 데 사용되며 매우 유용한 날짜 정보를 추출하는 데 도움이 됩니다

구문은 다음과 같습니다:

DATE_FORMAT(날짜, 표현식)

SELECT ename, DATE_FORMAT(hiredate,"%Y") AS "入职日期" FROM t_emp;
로그인 후 복사

PlaceholderFunctionPlaceholderFunction
%Y Year%m Month
%dDate%wWeek(숫자) - (0은 일요일)
%WWeek(이름) - (영어 )%j올해의 요일
%U올해의 주%H시간 (24)
%h시간 (12) %i
%s%r시간(24)
%T시간(12)

날짜 함수 연습

"날짜 기능"을 이용하여 생일이 무슨 요일인지 문의해 보세요.

SELECT DATE_FORMAT("2018-01-01","%W");        -- 返回结果为 "Monday"
로그인 후 복사

날짜 함수 연습

1981년 상반기에 입사한 직원이 몇 명인지 알아보려면 "날짜 함수"를 사용하세요.

SELECT COUNT(*)
FROM t_emp
WHERE DATE_FORMAT(hiredate,"%Y") = 1981
AND DATE_FORMAT(hiredate,"%m") <= 6;
로그인 후 복사

날짜 계산에 대한 참고 사항

MySQL에서는 두 날짜를 동시에 직접 더하거나 뺄 수 없으며, 숫자에서 날짜를 더하거나 뺄 수도 없습니다.

그 이유는 날짜는 특별한 계산 단위이고, 밑이 일반 소수와 같지 않기 때문입니다.

문법적 오류 없이 "+1" 연산을 수행하기 위해 날짜를 사용하지만, 얻은 결과는 우리가 원하는 날짜 형식의 결과가 아닌 순수한 숫자입니다. (아래 예)

SELECT ename, hiredate, hiredate+1 FROM t_emp;
로그인 후 복사

날짜 오프셋 계산

DATE_ADD() 함수는 날짜 오프셋 계산을 구현할 수 있으며 시간 단위 처리에 비교적 유연합니다.

구문은 다음과 같습니다.

SELECT DATE_ADD("原始日期", INTERVAL, 偏移量, 时间单位)        -- INTERVAL 是 关键字
로그인 후 복사

"DATE_ADD() 함수" 데모 사례는 다음과 같습니다

SELECT DATE_ADD(NOW(), INTERVAL 10 DAY);         -- 得到的结果为 10 天 之后的日期时间
로그인 후 복사
SELECT DATE_ADD(NOW(), INTERVAL -500 MINUTE);         -- 得到的结果为 500 分钟 之前的日期时间
로그인 후 복사
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY);         -- 得到的结果为 6 个月 3 天 之前的日期时间
로그인 후 복사
SELECT 
DATE_FORMAT(
DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY) , "%Y-%m-%d") AS DATE;     -- 返回 "%Y-%m-%d" 格式结果
로그인 후 복사

날짜 사이의 일수를 계산합니다.

DATEDIFF() 함수는 두 날짜 사이의 일수를 계산하는 데 사용됩니다. , 구문은 다음과 같습니다.

DATEDIFF("날짜", "날짜")

연봉 15,000을 초과하고 근무 경력이 20년을 초과하는 10개 부서의 직원 정보를 쿼리합니다.

SELECT empno, ename, sal, hiredate
FROM t_emp
WHERE deptno = 10 
AND (sal + IFNULL(comm,0)) * 12 >=15000
AND DATEDIFF(NOW(),hiredate)/365 >= 20

-- IFNULL(expr1,expr2):IFNULL 函数的语法,当第一个参数的值为null 的时候,则返回第二个参数的值
-- DATEDIFF(expr1,expr2):DATEDIFF 函数的语法,计算第一个日期与第二个日期的偏差时间差
-- NOW():NOW 函数可以获得当前日期
로그인 후 복사

추천 학습: mysql 비디오 튜토리얼

위 내용은 MySQL 학습에서 날짜 함수의 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿