DataBase

[MySQL] Datetime 타입을 Int 타입으로 변환

JM_Code 2023. 2. 19. 21:26

MySQL에서 yyyy-MM-dd HH:mm:ss 형태의 DATETIME 값을 yyyyMMdd 형태의 INT 타입으로 반환하려면,

STR_TO_DATE() 함수를 사용하여 DATETIME 값을 원하는 형식의 문자열로 변환한 다음, DATE_FORMAT() 함수를 사용하여 INT 타입으로 변환해야 합니다.

 

아래는 이를 수행하는 쿼리문의 예시입니다.

SELECT CAST(DATE_FORMAT(STR_TO_DATE(datetime_column, '%Y-%m-%d %H:%i:%s'), '%Y%m%d') AS UNSIGNED) AS int_column FROM table_name;

위 쿼리문에서 **datetime_column**은 DATETIME 타입의 컬럼명이고, **table_name**은 해당 컬럼이 포함된 테이블의 이름입니다. **int_column**은 INT 타입의 결과값을 저장할 컬럼명을 지정하는 것이며, STR_TO_DATE 함수를 사용하여 DATETIME 값을 문자열로 변환한 후, DATE_FORMAT 함수를 사용하여 INT 타입으로 변환합니다.

 

위 예시에서는 '%Y%m%d' 형식으로 변환한 후 CAST 함수를 사용하여 INT 타입으로 변환하며, UNSIGNED 속성을 사용하여 양수값만 허용하도록 설정합니다.

 

만약 UNSIGNED 속성이 필요하지 않다면, CAST 함수를 사용하지 않고 다음과 같이 작성할 수 있습니다.

SELECT DATE_FORMAT(STR_TO_DATE(datetime_column, '%Y-%m-%d %H:%i:%s'), '%Y%m%d') AS int_column FROM table_name;

위 쿼리문에서는 AS 키워드를 사용하여, 결과값의 컬럼명과 타입을 지정합니다.

'DataBase' 카테고리의 다른 글

[MySQL] Only_full_group_by 에러 대처 방법  (0) 2022.12.07
[MySQL] 데이터 Export - Import  (0) 2022.12.07
[MySql] Group By  (0) 2022.11.22