mysql에서 사용 가능한 생일 유형: 1. DATE 유형, 표시할 수 있는 날짜 형식은 "YYYY-MM-DD"이며 저장에 3바이트가 필요합니다. 2. DATETIME 유형, 표시할 수 있는 날짜 형식은 다음과 같습니다. "YYYY- MM-DD HH:MM:SS", 8바이트 저장 필요 3. TIMESTAMP 유형, 표현 가능한 날짜 형식은 "YYYY-MM-DD HH:MM:SS", 4바이트 저장 필요 .
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
MySQL에서 생일에 적합한 날짜 및 시간 유형
유형 이름 | 날짜 형식 | 날짜 범위 | 저장소 요구 사항 |
---|---|---|---|
DATE | YYYY- MM-DD | 1000- 01-01 ~ 9999-12-3 | 3바이트 |
DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23: 59:59 | 8바이트 |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC | 4바이트 |
DATE 유형
DATE 유형은 시간 부분 없이 날짜 값만 필요한 경우에 사용되며 저장에 3바이트가 필요합니다. 날짜 형식은 'YYYY-MM-DD'이며, 여기서 YYYY는 연도, MM은 월, DD는 일을 나타냅니다.
DATE 유형 필드에 값을 할당할 때 DATE의 날짜 형식을 준수하는 한 문자열 유형 또는 숫자 유형 데이터를 사용하여 삽입할 수 있습니다. 아래와 같이
'YYYY-MM-DD' 또는 'YYYYMMDD' 문자 형식으로 표현되는 날짜이며, 값 범위는 '1000-01-01' ~ '9999-12-3'입니다. 예를 들어 '2015-12-31' 또는 '20151231'을 입력하면 데이터베이스에 삽입되는 날짜는 2015-12-31이 됩니다.
날짜를 'YY-MM-DD' 또는 'YYMMDD' 문자열 형식으로 표현합니다. 여기서 YY는 두 자리 연도 값을 나타냅니다. MySQL은 두 자리 연도 값에 대한 규칙을 해석합니다. '00~69' 범위의 연도 값은 '2000~2069'로 변환되고, '70~99' 범위의 연도 값은 으로 변환됩니다. '1970~1999'. 예를 들어, '15-12-31'을 입력하면 데이터베이스에 삽입된 날짜는 2015-12-31이고, '991231'을 입력하면 데이터베이스에 삽입된 날짜는 1999-12-31입니다.
YYMMDD 숫자 형식으로 표현된 날짜는 앞선 것과 유사하게 00~69 범위의 연도 값은 2000~2069, 80~99 범위의 연도 값은 으로 변환됩니다. 1980~1999. 예를 들어 151231을 입력하면 데이터베이스에 삽입된 날짜는 2015-12-31이고, 991231을 입력하면 데이터베이스에 삽입된 날짜는 1999-12-31입니다.
현재 시스템 날짜를 삽입하려면 CURRENT_DATE 또는 NOW()를 사용하세요.
팁: MySQL은 "완화된" 구문을 허용합니다. 구두점은 날짜 부분 사이의 구분 기호로 사용할 수 있습니다. 예를 들어 '98-11-31', '98.11.31', '98/11/31' 및 '98@11@31'은 동일하며 이러한 값은 데이터베이스에 올바르게 삽입됩니다.
DATETIME 유형
DATETIME 유형은 날짜와 시간 정보를 모두 포함해야 하는 값에 사용되며 저장에는 8바이트가 필요합니다. 날짜 형식은 'YYYY-MM-DD HH:MM:SS'이며, 여기서 YYYY는 연도, MM은 월, DD는 일, HH는 시간, MM은 분, SS는 초를 나타냅니다.
DATETIME 유형의 필드에 값을 할당할 때 아래와 같이 DATETIME의 날짜 형식을 준수하는 한 문자열 유형 또는 숫자 유형 데이터를 사용하여 삽입할 수 있습니다.
'YYYY-MM을 사용합니다. -DD HH:MM :SS' 또는 'YYYYMMDDHHMMSS' 문자열 형식으로 표현되는 날짜이며, 값 범위는 '1000-01-01 00:00:00' ~ '9999-12-3 23:59:59'입니다. 예를 들어 '2014-12-31 05:05:05' 또는 '20141231050505'를 입력하면 데이터베이스에 삽입되는 DATETIME 값은 2014-12-31 05:05:05가 됩니다.
'YY-MM-DD HH:MM:SS' 또는 'YYMMDDHHMMSS' 문자열 형식으로 표현되는 날짜입니다. 여기서 YY는 두 자리 연도 값을 나타냅니다. 이전과 동일하게 '00~79' 범위의 연도 값은 '2000~2079'로 변환되고, '80~99' 범위의 연도 값은 '1980~1999'로 변환됩니다. 예를 들어, '14-12-31 05:05:05'를 입력하면 데이터베이스에 삽입된 DATETIME은 2014-12-31 05:05:05이고, 141231050505를 입력하면 데이터베이스에 삽입된 DATETIME은 2014입니다. -12-31 05:05:05 .
YYYYMMDDHHMMSS 또는 YYMMDDHHMMSS 숫자 형식으로 표현된 날짜 및 시간입니다. 예를 들어, 20141231050505를 입력하면 데이터베이스에 삽입된 DATETIME은 2014-12-31 05:05:05이고, 140505050505를 입력하면 데이터베이스에 삽입된 DATETIME은 2014-12-31 05:05:05입니다.
팁: MySQL은 "완화된" 구문을 허용합니다. 구두점은 날짜 부분이나 시간 부분 사이의 구분 기호로 사용할 수 있습니다. 예를 들어 '98-12-31 11:30:45', '98.12.31 11+30+35', '98/12/31 11*30*45' 및 '98@12@31 11^30^ 45'는 동일하며 이 값은 데이터베이스에 올바르게 삽입될 수 있습니다.
TIMESTAMP 유형
TIMESTAMP는 DATETIME과 동일한 표시 형식을 가지며 표시 너비는 19자로 고정되고 날짜 형식은 YYYY-MM-DD HH:MM:SS이며 저장에 4바이트가 필요합니다. 다만, TIMESTAMP 컬럼의 값 범위는 DATETIME의 값 범위인 '1970-01-01 00:00:01'UTC~'2038-01-19 03:14:07'UTC보다 작다. 데이터를 삽입할 때 유효한 값 범위 내에 있는지 확인하십시오.
팁: 협정 세계시(영어: 협정 세계시, 프랑스어: Temps Universel Coordonna)는 세계 통일시(Universal Unified Time), 세계 표준시(Universal Standard Time), 국제 협정시(International Coordinated Time)라고도 합니다. 영어(CUT)와 프랑스어(TUC) 약어가 다르며 절충안으로 약어는 UTC입니다.
TIMESTAMP 및 DATETIME은 다양한 저장 바이트 및 지원 범위 외에도 가장 큰 차이점은 다음과 같습니다.
DATETIME 날짜 데이터를 저장할 때 실제 입력 형식으로 저장됩니다. 즉, 입력되는 모든 내용이 저장됩니다.
TIMESTAMP 값의 저장은 UTC(Universal Coordinated Time) 형식으로 저장되며, 검색 시 현재 시간대로 다시 변환됩니다. 즉, 쿼리 시 현재 시간대에 따라 표시되는 시간 값이 다릅니다.
팁: DATETIME 또는 TIMESTAMP 객체에 DATE 값을 할당하면 결과 값의 시간 부분이 '00:00:00'으로 설정되므로 DATE 값에는 시간 정보가 포함되지 않습니다. DATE 객체에 DATETIME 또는 TIMESTAMP 값이 할당되면 결과 값의 시간 부분이 제거되므로 DATE 값에는 시간 정보가 포함되지 않습니다.
시간 및 날짜 함수
시스템 시간 함수 now(), current_timestamp, sysdate()
이 세 가지 함수는 시스템 시간을 반환하고 차이점을 확인하며 동시에 time 이 세 가지 함수에 접근하여 얻은 결과는 동일하지만, 몇 초간 기다린 후에는 결과가 다릅니다.
위 그림을 보면 sysdate()가 반환한 시간이 now()와 다르며 current_timestamp가 2초 느린 것을 알 수 있습니다. 그 이유는 다음과 같습니다.
current_timestamp는 now의 동의어이며, 둘은 같습니다.
sysdate() 함수는 현재 함수가 실행되는 시간을 반환하고, now()는 sql 문이 실행되는 시간을 반환합니다.
시간 덧셈 및 뺄셈 함수
① date_add 및 date_sub
date_add(date , 간격 expr 단위) 및 date_sub(date, 간격 expr 단위)는 각각 증가 및 감소를 나타냅니다.
select date_add('2017-12-18 22:51:00', interval 1 second), date_add('2017-12-18 22:51:00', interval 1 minute), date_add('2017-12-18 22:51:00', interval 1 hour), date_add('2017-12-18 22:51:00', interval 1 day), date_add('2017-12-18 22:51:00', interval 1 month), date_add('2017-12-18 22:51:00', interval 1 year);
윤달이 발생할 때 date_add를 처리하는 방법은 무엇입니까? MySQL은 윤달인 경우 2월 29일을 반환하고, 윤달이 아닌 경우 2월 28일을 반환합니다.
select date_add('2016-02-29 22:51:00', interval -1 year), date_add('2016-02-29 22:51:00', interval 4 year);
2015-02-28 22:51:002020-02-29 22:51:00
② datediff 및 timediff
datediff(date1, date2): 두 날짜 date1 - date2를 빼고 일 수를 반환합니다. select datediff('2016-02-29 22:51:00','2016-03-29 22:51:00');
timediff(time1, time2): 두 날짜 time1 - time2를 빼고, 시차(형식: 838:59:59). select timediff('2016-02-29 22:51:00','2016-01-29 22:51:00');
참고: timediff(time1,time2) 함수의 두 가지 매개 변수 유형은 다음과 같아야 합니다. 동일하다.
3 타임스탬프 증가, 감소, 변환 기능
timestamp(date)
-- 날짜를 timestamp로timestamp(date)
-- date to timestamptimestamp(date, time)
-- date + timetimestampadd(unit,interval,datetime_expr)
-- 类似date_add,对时间按单位进行增加,减少
select timestampadd(second, 60, '2017-12-18 00:00:00'); select timestampadd(minute, 60, '2017-12-18 00:00:00'); select timestampadd(hour, 60, '2017-12-18 00:00:00');
timestampdiff(unit,datetime_expr1,datetime_expr2)
timestamp(날짜, 시간)
-- 날짜 + time
timestampadd(unit,interval,datetime_expr)
-- date_add와 유사하며, 단위별로 시간을 늘리거나 줄입니다
select timestampdiff(second, '2017-12-18 00:00:00','2017-12-18 12:00:00'); select timestampdiff(hour, '2017-11-18 00:00:00','2017-12-18 12:00:00'); select timestampdiff(day, '2017-10-17 00:00:00','2017-11-18 23:00:00');
timestampdiff(unit,datetime_expr1, datetime_expr2 )
-- 두 시간의 차이를 계산하여 초, 분, 시간, 일, 월, 년, 주를 계산할 수 있습니다
select date_format(now(),'%Y%m%d'), date_format(now(),'%Y-%m-%d'), date_format(now(),'%Y/%m/%d'), date_format(now(),'%m/%d/%Y');4 date_format 함수
date_format 함수는 주로 날짜 형식을 지정하는 데 사용됩니다
select * from employees where date_format(birth_date,'%Y-%m-%d') = '1961-08-03';참고: 데이터를 쿼리할 때 날짜 필드에 이 기능을 사용하면 최적화 프로그램이 해당 필드의 인덱스를 사용하지 않고 인덱스를 통해 데이터를 쿼리할 수도 없으므로 쿼리 효율성이 매우 낮습니다. 다음 쿼리 문에서birth_date 필드에 인덱스가 있는 경우 date_format 함수 사용으로 인해 인덱스가 유효하지 않습니다. 🎜
-- 上一年,当年,下一年生日与当前时间差最小的年就是用户最近的生日 select emp_no,first_name,last_name,birth_date,today,if(last_diff<=cur_diff and last_diff<=next_diff, last,if(cur_diff from ( -- 计算当前时间与上一年,当年,下一年生日的时间差 select emp_no,first_name,last_name,birth_date,datediff(today,last) as last_diff,abs(datediff(today,cur)) as cur_diff,abs(datediff(today,next)) as next_diff, last,cur,next,today from ( -- 用户最近的生日可能分布在前一年,当年,下一年。根据年度差year_diff计算上一年,当年,下一年用户的生日 select emp_no,first_name,last_name,birth_date, DATE_ADD(birth_date,INTERVAL year_diff year) as cur, DATE_ADD(birth_date,INTERVAL year_diff+1 year) as next, DATE_ADD(birth_date,INTERVAL year_diff-1 year) as last, today from ( -- 获取当前事前与出生日期的年度差 year_diff select emp_no,first_name,last_name,birth_date,(year(NOW())-year(birth_date)) as year_diff, NOW() as today from employees ) a ) b ) c🎜🎜🎜날짜의 고전적인 프로그래밍 문제🎜🎜🎜🎜사용자의 최신 생일 계산(과거 및 미래 포함) 것) 생년월일과 현재 날짜를 기준으로 )🎜rrreee🎜【관련 추천:🎜mysql 비디오 튜토리얼🎜】🎜
위 내용은 mysql에서는 생일에 어떤 유형이 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
