Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 일, 월, 연도 필드에서 날짜를 만드시겠습니까?

<시간/>

MySQL의 내장 함수 STR_TO_DATE()를 사용할 수 있습니다. 구문은 다음과 같습니다 -

SELECTSTR_TO_DATE(CONCAT(yourYearColumName,'-',LPAD(yourMonthColumName,2,'00'),'-',LPAD(yourDayColumName,2,'00')), '%Y-%m-%d' ) yourTableName의 anyVariableName으로;

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> 테이블 생성 DateCreateDemo −> ( −> `Day` varchar(2), −> `Month` varchar(2), −> `Year` varchar(4) −> );쿼리 OK, 영향을 받은 행 0개 (1.68초)

삽입 명령을 사용하여 모든 필드에 값을 삽입합니다. 쿼리는 다음과 같습니다 -

mysql> insert into DateCreateDemo values('15','12','2018');Query OK, 1행 영향(0.09초)mysql> DateCreateDemo values('10','11','2016)에 삽입 ');쿼리 OK, 1행 영향(0.37초)mysql> DateCreateDemo 값에 삽입('12','6','2017');쿼리 OK, 1행 영향(0.12초)mysql> DateCreateDemo 값에 삽입( '9','8','2019');쿼리 확인, 1행 영향(0.17초)mysql> DateCreateDemo 값에 삽입('10','5','2020');쿼리 OK, 영향 1행( 0.09초)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> Select *from DateCreateDemo;

다음은 출력입니다 -

+------+-------+------+| 하루 | 월 | 연도 |+------+-------+------+| 15 | 12 | 2018년 || 10 | 11 | 2016년 || 12 | 6 | 2017 || 9 | 8 | 2019 || 10 | 5 | 2020 |+------+-------+------+5행 세트(0.00초)

위의 3가지 필드인 '일', '월', '연도'를 사용하여 날짜를 생성합니다. 쿼리는 다음과 같습니다 -

<미리>mysql> select −> STR_TO_DATE(CONCAT(연도,'-',LPAD(월,2,'00'),'-',LPAD(일,2,'00')), '%Y-% m-%d') DateCreateDemo에서 DateDemo로,

다음은 출력입니다 -

+------------+| 날짜데모 |+------------+| 2018-12-15 || 2016-11-10 || 2017-06-12 || 2019-08-09 || 2020-05-10 |+------------+5행 세트(0.06초)