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

MySQL에서 varchar를 날짜로 변환하시겠습니까?

<시간/>

date_format()을 사용하여 varchar를 날짜로 변환할 수 있습니다. 구문은 다음과 같습니다 -

SELECT DATE_FORMAT(STR_TO_DATE(yourColumnName, 'yourFormatSpecifier'), 'yourDateFormatSpecifier') as anyVariableName from yourTableName;

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

mysql> create table VarcharToDate -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Created_Time varchar(100), -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받은 행 0개(1.10초) 

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

mysql> insert into VarcharToDate(Created_Time) values('12/1/2016');Query OK, 1개 행 영향(0.14초)mysql> insert into VarcharToDate(Created_Time) values('14/3/2017');쿼리 OK, 1행 영향(0.18초)mysql> VarcharToDate(Created_Time) 값에 삽입('15/3/2018');쿼리 OK, 1행 영향(0.21초)mysql> VarcharToDate(Created_Time) 값에 삽입( '19/5/2011');쿼리 OK, 1행 영향(0.18초)mysql> insert intoVarcharToDate(Created_Time) values('19/8/2019');쿼리 OK, 1행 영향(0.15초)mysql> insert into VarcharToDate(Created_Time) values('21/11/2020');쿼리 OK, 1행 영향(0.23초)

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

mysql> select *from VarcharToDate;+----+----------------+| 아이디 | 만든 시간 |+----+--------------+| 1 | 2016년 12월 1일 || 2 | 2017년 14월 3일 || 3 | 2018년 15월 3일 || 4 | 2011년 5월 19일 || 5 | 2019년 8월 19일 || 6 | 2020년 11월 21일 |+----+--------------+6행 세트(0.00초)

다음은 varchar를 날짜로 변환하는 쿼리입니다. 먼저 str_to_date() 함수를 사용하여 날짜로 변환해야 합니다. 그 후에 실제 날짜를 제공하기 위해 date_format()을 사용하십시오 -

mysql> VarcharToDate에서 날짜로 date_format(str_to_date(Created_Time, '%d/%m/%Y'), '%Y-%m-%d')을 선택합니다.

다음은 출력입니다 -

+------------+| 날짜 |+------------+| 2016-01-12 || 2017-03-14 || 2018-03-15 || 2011-05-19 || 2019-08-19 || 2020-11-21 |+------------+6행 세트(0.00초)