DB

[DB][MySQL] selectKey 쿼리문 해석 ( 자동채번 코드 만들기 )

오선지♬ 2023. 3. 16. 19:25
728x90
반응형

    SELECT
        CONCAT(
            'MS'
            , DATE_FORMAT(NOW(), '%Y%m%d')
            , LPAD(
                CAST((
                        CAST(
                            SUBSTR(
                                IFNULL(MAX(MSG_CD)
                                ,CONCAT(
                                    'MS'
                                    ,DATE_FORMAT(NOW()
                                    , '%Y%m%d')
                                    ,'0000'
                                )
                            ),11,4) AS SIGNED
                        ) + 1
                ) AS CHAR)
                ,4
                ,'0'
            )) AS MSG_CD
    FROM 
        T_MSG 
    WHERE
       SUBSTRING(MSG_CD,1,10) = CONCAT('MS',DATE_FORMAT(NOW(), '%Y%m%d'))

 

- CONCAT : 문자열 합치기 함수

- DATE_FORMAT : 날짜 포맷 변경 함수

- DATE_FORMAT(NOW() , '%Y%m%d') : 현재날짜를  yyyymmdd형태로 변환한다.

- AS SIGNED : 정수 타입인데 양수만.

728x90
반응형