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

MySQL에서 dd/mm/yyyy 문자열을 Unix 타임스탬프로 변환하시겠습니까?

<시간/>

UNIX_TIMESTAMP()를 사용하여 dd/mm/yyyy 문자열을 Unix 타임스탬프로 변환합니다. 구문은 다음과 같습니다 -

SELECT UNIX_TIMESTAMP(STR_TO_DATE(yourColumnName,'%d/%m/%Y')) as anyVariableName FROM yourTableName;

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

mysql> 테이블 생성 ConvertddmmyyyyInUnixTimeStamp -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Created_at varchar(30), -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.57초) 

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

mysql> Insert into ConvertddmmyyyyInUnixTimeStamp(Created_at) values('10/11/2012');Query OK, 1개 행 영향(0.21초)mysql> ConvertddmmyyyyInUnixTimeStamp(Created_at) values('11/12/2013')에 삽입;Query OK, 영향을 받는 1개 행(0.23초)mysql> ConvertddmmyyyyInUnixTimeStamp(Created_at) 값('10/12/2012')에 삽입 '31/01/2015');쿼리 OK, 1행 영향(0.19초)mysql> ConvertddmmyyyyInUnixTimeStamp(Created_at) 값에 삽입('24/04/2016');쿼리 OK, 1행 영향(0.21초)mysql> 변환에 삽입하십시오. 영향을 받는 행(0.14초)

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

mysql> select *from ConvertddmmyyyyInUnixTimeStamp;

다음은 출력입니다 -

+----+------------+| 아이디 | Created_at |+----+------------+| 1 | 2012년 10월 11일 || 2 | 2013년 11월 12일 || 3 | 2012년 10월 12일 || 4 | 2015년 1월 31일 || 5 | 2016년 4월 24일 || 6 | 2017년 9월 20일 || 7 | 2018년 3월 15일 |+----+------------+7행 세트(0.00초)

이제 dd/mm/yyyy 문자열을 UNIX 타임스탬프로 변환해 보겠습니다.

mysql> ConvertddmmyyyInUnixTimeStamp에서 UnixTimestamp로 unix_timestamp(str_to_date(Created_at,'%d/%m/%Y')) 선택;

다음은 출력입니다.

+---------------+| 유닉스 타임스탬프 |+---------------+| 1352485800 || 1386700200 || 1355077800 || 1422642600 || 1461436200 || 1505845800 || 1521052200 |+---------------+7행 세트(0.00초)