[sql] 시간 형식 유효성 검사 함수

SQL에서 시간 형식의 유효성을 검사하기 위한 사용자 정의 함수를 만들어 보겠습니다.

시간 형식 확인 함수의 필요성

시간 형식이 올바르게 입력되었는지 확인해야 하는 경우가 많습니다. 예를 들어, 사용자가 시간을 입력하는 폼을 통해 데이터를 전송할 때나, 데이터베이스 테이블에 시간을 삽입할 때 등이 있습니다. 이때 시간 형식이 올바르게 입력되었는지를 확인하기 위해 사용자 정의 함수를 작성할 수 있습니다.

SQL 함수 작성

다음은 SQL Server에서 시간 형식을 검사하는 사용자 정의 함수의 예시입니다.

CREATE FUNCTION IsValidTimeFormat (@timeString NVARCHAR(50))
RETURNS BIT
AS
BEGIN
    DECLARE @isValid BIT

    IF @timeString LIKE '[0-2][0-9]:[0-5][0-9]:[0-5][0-9]'
       SET @isValid = 1
    ELSE
       SET @isValid = 0

    RETURN @isValid
END

이 함수는 입력된 문자열이 ‘시:분:초’ 형식에 부합하는지를 확인합니다. 유효한 형식에 부합하면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

함수 사용 예시

이제 작성한 함수를 사용해보겠습니다.

SELECT dbo.IsValidTimeFormat('12:34:56') AS IsValid   -- 1을 반환
SELECT dbo.IsValidTimeFormat('123:45:67') AS IsValid   -- 0을 반환

결론

시간 형식을 유효성 검사하는 사용자 정의 함수를 작성함으로써 올바르지 않은 형식의 데이터가 데이터베이스에 삽입되는 것을 방지할 수 있습니다.

참조