일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 마라톤
- Garmin Chronos
- 의정부 전주본가
- 의정부시청역 콩나물국밥
- 알고리즘
- java lombok
- MongoDB mongoimport
- 러너
- MongoDB foreach
- 10KM 러닝
- 의정부 전주콩나물국밥
- 신대방삼거리역 홍어
- java 알고리즘
- 인터벌러닝
- 신대방삼거리역 흑산도홍어
- 10k 마라톤
- 의정부역 콩나물국밥
- 가민 크로노스 인터벌 러닝
- 가민 인터벌 러닝
- 가민 크로노스 러닝
- 의정부 콩나물국밥 맛집
- 서울 흑산도홍어
- 가민
- lombok
- github command
- 인터벌 러닝
- 서울 홍어삼합
- 가민 크로노스
- 신설동역 맛집
- Running 연습
- Today
- Total
나의 Winding Road
SQL Server CASE WHEN 자동 형변환 확인 본문
[2018-08-28 화요일]
* 내용: CASE WHEN 자동 형변환
1. 쿼리
2. 조치 및 확인
1. 쿼리
* 내용
- 첫번째 CASE 문에 EMP_ID(VARCHAR 타입임에도)로 SELECT 하지만 자동으로 변환되는 문제 有
- THEN CONVERT(INT, EMP_ID) 두번째 THEN절에 의해서 발생
SELECT EMP_ID
, CASE
WHEN LEN(EMP_ID) = 5
THEN EMP_ID
WHEN LEN(CONVERT(VARCHAR, CONVERT(INT, EMP_ID))) >= 6 AND EMP_ID <> '00000000'
THEN CONVERT(INT, EMP_ID)
ELSE EMP_ID
END AS CV_EMP_ID
, LEN(EMP_ID)
, LEN(CONVERT(VARCHAR, CONVERT(INT, EMP_ID)))
FROM SAP_ASSET_MASTER
WHERE ISNUMERIC(EMP_ID) = 1
2. 조치 및 확인
* 변경 쿼리
SELECT EMP_ID
, CASE
WHEN LEN(EMP_ID) = 5
THEN EMP_ID
WHEN LEN(CONVERT(VARCHAR, CONVERT(INT, EMP_ID))) >= 6 AND EMP_ID <> '00000000'
THEN CONVERT(VARCHAR, CONVERT(INT, EMP_ID))
ELSE EMP_ID
END AS CV_EMP_ID
, LEN(EMP_ID)
, LEN(CONVERT(VARCHAR, CONVERT(INT, EMP_ID)))
FROM SAP_ASSET_MASTER
WHERE ISNUMERIC(EMP_ID) = 1
'개발 > Database' 카테고리의 다른 글
SQL Server 동적 PIVOT Query (0) | 2018.09.16 |
---|---|
SQL Server @@ROWSCOUNT (0) | 2018.09.16 |
SQL Server Database 복원(Restore) (0) | 2018.08.17 |
SQL Server 에러 처리(명명된 파이프 공급자: SQL Server에 대한 연결을 열 수 없습니다.) (0) | 2018.08.16 |
SQL Server Database 이름 변경 (0) | 2018.08.15 |