MinBangHome

[MS SQL] 현재 날짜 포맷 Function 생성 및 사용 본문

Develop/DB

[MS SQL] 현재 날짜 포맷 Function 생성 및 사용

Byungwook Min 2023. 12. 28. 16:06

* MS SQL 내에서 현재 날짜 포맷 펑션 생성 및 사용하기 ( Date Format Function )

 

CREATE FUNCTION CONVERTDATE (
    @FS_DATE VARCHAR(30)
)
RETURNS VARCHAR(30)
AS
    BEGIN
        DECLARE @RESULT VARCHAR(30)
                , @DATETIME DATETIME
                , @DATETIMESTR VARCHAR(30)
                , @DATE VARCHAR(30)
                , @TIME VARCHAR(30)
                , @HOUR VARCHAR(30)
                , @MINUTESECOND VARCHAR(30)
                , @TIMESUFFIX VARCHAR(30)

        SET @DATETIME = CONVERT(DATETIME, @FS_DATE)

        SET @DATETIMESTR = CONVERT(VARCHAR, @DATETIME, 25) -- 2023-10-20 16:29:38.800

        SET @DATE = LEFT(@DATETIMESTR, 10)
        SET @DATE = REPLACE(@DATE, '-', '/')

        SET @TIME = RIGHT(@DATETIMESTR, 12)
        SET @TIME = LEFT(@TIME, 8)

        SET @HOUR = LEFT(@TIME, 2)
        SET @MINUTESECOND = SUBSTRING(@TIME, 3, 6)

        SET @TIMESUFFIX = CONVERT(VARCHAR, @DATETIME, 0)
        SET @TIMESUFFIX = RIGHT(@TIMESUFFIX, 2)
        IF @TIMESUFFIX = 'PM'
            BEGIN
                SET @TIMESUFFIX = '오후'

                IF @HOUR <> '12'
                    BEGIN
                        SET @HOUR = CONVERT(VARCHAR, CONVERT(INT, @HOUR) - 12)
                    END
            END
        ELSE
            BEGIN
                SET @TIMESUFFIX = '오전'

                IF @HOUR = '12'
                    BEGIN
                        SET @HOUR = CONVERT(VARCHAR, CONVERT(INT, @HOUR) - 12)
                    END
            END

        SET @RESULT = @DATE + ' ' + @TIMESUFFIX + ' ' + @HOUR + @MINUTESECOND
        RETURN @RESULT
    END
go

 

result : 2023/12/28 오후 4:05:14

Comments