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

날짜가 VARCHAR 형식인 경우 MySQL에서 특정 레코드를 선택하는 방법은 무엇입니까?

<시간/>

이를 위해 STR_TO_DATE()를 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> 테이블 생성 DemoTable( DueDate varchar(60));Query OK, 영향을 받는 행 0개(0.71초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> DemoTable 값에 삽입('12-AUG-2016');쿼리 OK, 1행 영향(0.11초)mysql> DemoTable 값에 삽입('14-AUG-2018');쿼리 OK, 1행 영향을 받은(0.11초)mysql> DemoTable 값에 삽입('24-AUG-2012');쿼리 OK, 영향을 받는 1행(0.10초)mysql> DemoTable 값에 삽입('14-AUG-2012');쿼리 OK, 영향을 받는 행 1개(0.19초)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+-------------+| 마감일 |+-------------+| 2016년 8월 12일 || 2018년 8월 14일 || 2012년 8월 24일 || 2012년 8월 14일 |+-------------+4행 세트(0.00초)

다음은 날짜가 VARCHAR 형식인 경우 MySQL에서 레코드를 선택하는 쿼리입니다. STR_TO_DATE() 메서드는 문자열을 날짜로 변환하는 데 사용됩니다 -

mysql> select *from DemoTable where str_to_date(DueDate,'%d-%M-%Y')=str_to_date('14-AUG-2012','%d-%M-%Y'); 

이것은 다음과 같은 출력을 생성합니다 -

+-------------+| 마감일 |+-------------+| 2012년 8월 14일 |+-------------+1 행 세트(0.00초)