All Day Tired

MsSQL 문자열을 날짜 및/또는 시간으로 변환하지 못했습니다. 본문

Back/DB

MsSQL 문자열을 날짜 및/또는 시간으로 변환하지 못했습니다.

yu.dev 2025. 7. 24. 17:24

일 하는데 이딴 에러가 남...

내 경우에는 프로시저 호출하는데 데이터가 안 넘어와서 직접 mssm으로 조회해보는데 안됨...

그래서 프로시저 안에 쿼리 하나하나 실행하는데

문자열을 날짜 및/또는 시간으로 변환하지 못했습니다.

이딴 에러 뜸...

 

문제 쿼리는 UNION ALL 절인데

대략 쿼리를 쓰자면

DECLARE @TEMP TABLE
(
    ID VARCHAR(40)
    , EVENTTIME VARCHAR(MAX)
)

INSERT INTO @TEMP
SELECT ID
     , EVENTTIME
FROM SAMPLE1
;

SELECT ID
     , EVENTTIME
FROM SAMPLE2
UNION ALL
SELECT ID
     , EVENTTIME
FROM @TEMP

 

이런 형식의 쿼리였음.

근데 여기서 SAMPLE1에 EVENTTIME컬럼이 DATETIME 같은 날짜형식일 경우 저런 에러가 나서

CONVERT를 해줘야한다.

DECLARE @TEMP TABLE
(
    ID VARCHAR(40)
    , EVENTTIME VARCHAR(MAX)
)

INSERT INTO @TEMP
SELECT ID
     , CONVERT(CHAR(19), EVENTTIME, 120)
FROM SAMPLE1
;

SELECT ID
     , EVENTTIME
FROM SAMPLE2
UNION ALL
SELECT ID
     , EVENTTIME
FROM @TEMP
Comments