SELECT ST_ID, SC_CODE, ST_PAYDAY
, CASE WHEN MONTH(DATEADD(m,0,GETDATE())) <> 2 THEN CONVERT(VARCHAR(7),DATEADD(m,1,GETDATE()),23)+'-'+CONVERT(VARCHAR,ST_PAYDAY) ELSE 1 END
FROM ST_STUDENT_INFO
WHERE ST_TYPE=1 AND (
SELECT COUNT(*) FROM ST_PAY_INFO WHERE ST_STUDENT_INFO.ST_ID = ST_PAY_INFO.ST_ID AND LEFT(PAY_DAY,7) = CONVERT(VARCHAR(7),DATEADD(m,0,getdate()),23)
) = 0
이 쿼리를 날리면
서버 : 메시지 245, 수준 16, 상태 1, 줄 1
varchar 값 '2014-05-01'을(를) 데이터 형식 int(으)로 변환하지 못했습니다. 이런 에러가 뜨는데 이해가 가질 않습니다.
왜 int 형으로 형변환을 할려고 하는지 이해가 안가네요... 근데 문제는
SELECT CONVERT(VARCHAR(7),DATEADD(m,1,GETDATE()),23)+'-'+CONVERT(VARCHAR,ST_PAYDAY) FROM ST_STUDENT_INFO 이렇게 커리를 날리면 잘됩니다...
선배님들 조언 좀 부탁드리겠습니다 감사합니다.