집 >데이터 베이스 >MySQL 튜토리얼 >mysql은 날짜 처리를 할 수 있나요?
mysql은 날짜 처리를 수행할 수 있습니다. CURDATE(), NOW(), YEAR(), MONTH(), DAY(), HOUR(), MINUTE(), SECOND()와 같은 내장 함수를 사용할 수 있습니다. 날짜 처리. 예 "SELECT CURDATE()"는 현재 날짜를 가져옵니다.
최근 프로젝트에서는 많은 SQL 문을 작성해야 했습니다. 시간과 관련된 많은 처리가 필요하므로 이제 간단히 요약해 보겠습니다.
1. 시간 형식: 이 프로젝트에서는 아마도 데이터베이스 테이블 구조가 서로 다른 사람들에 의해 확립되었을 것입니다. 일부 테이블은 긴 형식의 타임스탬프를 저장하고 일부 테이블은 날짜를 저장합니다. 저장되고 일부 테이블에는 시간이 저장됩니다. 동시에 형식은 20171225, 2017-12-25 등으로 전혀 균일하지 않습니다. 그렇게 하면 프로젝트에 추가 작업량이 추가되고 몇 가지 문제가 발생할 수도 있습니다. 예를 들어, 백그라운드 코드를 작성할 때 데이터베이스의 시간 형식에 맞게 시간을 처리해야 하며, 승리하기 위해 공동 쿼리를 수행할 때 시간 형식이 균일하지 않고 SQL 문의 시간 형식이 변환됩니다. 결과적으로 SQL 문이 비대해졌습니다. 따라서 동일한 프로젝트 내에서는 시간 형식이 일관되게 유지되어야 합니다. 개인적으로는 긴 형식의 타임스탬프와 문자열 형식의 yyyy-MM-dd HH:mm:ss가 더 좋다고 생각합니다.
긴 유형의 타임스탬프는 백그라운드 Java 코드가 날짜 유형의 시간을 타임스탬프로 변환하기 쉽기 때문입니다.
문자열 형식은 시간 필드를 자주 사용하면 적용 중에 날짜 형식을 문자열 형식으로 변환할 필요가 없기 때문에 사용하기가 더 직관적이고 편리합니다.
2. 일반적으로 사용되는 시간 구문
SELECT CURDATE():2020-10-7 //此时日期 SELECT NOW() : 2020-10-7 22:20:21 //此刻时间 SELECT YEAR('2020-10-7 22:27:45'): 2020 //获取时间的年份 SELECT MONTH('2020-10-7 22:27:45'): 10 //获取时间的月份 SELECT DAY('2020-10-7 22:27:45'):25 //获取时间的天数 SELECT HOUR('2020-10-7 22:27:45'):22 //获取时间的小时 SELECT MINUTE('2020-10-7 22:27:45'):27 //获取时间的分钟 SELECT SECOND('2020-10-7 22:27:45'):45 //获取时间的秒数
SELECT DATE_SUB(NOW(),INTERVAL 1 YEAR) //在目前的时间减去一年,该语句可以进行多种操作,指定时间下减去x年:DATE_SUB("2017-12-25",INTERVAL x YEAR),同时可以减去 x month/day/hour/minute/second等 SELECT DATE_ADD(NOW(),INTERVAL 1 YEAR) //同上,在目前的时间上加上一年 SELECT CONCAT('2017','-12-12'):2017-12-12 //组装字符串,可以组装成任何时间格式,也可以使用如上语句,例如:SELECT CONCAT(YEAR(NOW()),'-12-12') :2017-12-12 ; SELECT UNIX_TIMESTAMP('2017-12-25'):1514131200 //字符串转换成时间戳 SELECT FROM_UNIXTIME(1514131200) :2017-12-25 00:00:00 //时间戳转化为时间 SELECT DATE_FORMAT('2017-12-25 22:23:01', '%Y-%m-%d %H:%i:%s'); //字符串转化为时间格式(date),也可以时间格式转化为字符串格式
위는 mysql에서 일반적으로 사용되는 시간 관련 구문입니다.
추천 튜토리얼: mysql 비디오 튜토리얼
위 내용은 mysql은 날짜 처리를 할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!