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

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

WBOY
WBOY앞으로
2022-08-15 18:29:411875검색

이 기사에서는 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;

Placeholder Function Placeholder Function
%Y Year %m Month
%d Date %w Week(숫자) - (0은 일요일)
%W Week(이름) - (영어 ) %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으로 문의하시기 바랍니다. 삭제