본문 바로가기
Computer Programming/web Program with PHP

SQL 쿼리에서 'DATE_FORMAT'함수 사용하여 '03-04'형식의 월-일 뽑아내기

by 로봇과나무 2023. 9. 6.

 

데이터베이스를 사용하는 데 있어서, 저장된 데이터가 DATE형식인 경우에는 '2023-03-04'의 형태로 저장됩니다. 여기서 연도는 필요 없고 '월-일'만 사용하고자 하는 경우에, 어떻게 처리할 것인가 하는 문제입니다. 즉, '03-04'만 출력하고자 하는 것이죠. 이때에는 SQL에서 제공하는 'DATE_FORMAT' 함수를 사용하여 날짜 형식을 'mm-dd'로 지정할 수 있습니다. '. 다음은 PHP 코드 조각의 예입니다.

<?php
// Your database connection code here

// Query to retrieve the date column and format it as 'mm-dd'
$sql = "SELECT DATE_FORMAT(date_column, '%m-%d') AS formatted_date FROM your_table";

$result = mysqli_query($conn, $sql);

if ($result) {
    while ($row = mysqli_fetch_assoc($result)) {
        // Access the formatted date
        $formattedDate = $row['formatted_date'];
        
        // Output the formatted date (e.g., '03-04')
        echo $formattedDate . "<br>";
    }
    
    // Close the result set
    mysqli_free_result($result);
} else {
    // Handle the query error
    echo "Error: " . mysqli_error($conn);
}

// Close the database connection
mysqli_close($conn);
?>

코드를 살펴 보면 당연히 아시겠지만, SQl 쿼리의 'date_column'은 사용하고자 하는 DATE 형식의 칼럼이름으로 변경하시기 바랍니다. 'your_table' 부분도 사용하고자 하는 데이터베이스 테이블 이름으로 변경하여 코딩하여야 합니다. 변경 후 테스트한다면 원하는 결과를 얻어 내실 수 있을 겁니다.

`DATE_FORMAT` 함수는 SQL 쿼리에서 날짜를 'mm-dd' 형식으로 직접 지정하는 데 사용됩니다. 결과는 PHP에서 검색된 다음 필요에 따라 표시되거나 사용됩니다.

이 코드는 데이터베이스에 저장된 DATE에서 '월' 및 '일' 구성 요소를 검색하여 원하는 형식으로 표시합니다. 데이터베이스를 검색할 때, 원하는 형식으로 변경하여 결과를 얻어 낼 수 있으므로, 추가적인 데이터의 가공이 필요하지 않다는 장점이 있습니다.