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 |