이 기사에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!