| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- 가민 인터벌 러닝
- java lombok
- 신대방삼거리역 홍어
- 가민 크로노스 인터벌 러닝
- 의정부 전주콩나물국밥
- Running 연습
- 의정부 콩나물국밥 맛집
- 의정부시청역 콩나물국밥
- 의정부역 콩나물국밥
- MongoDB mongoimport
- java 알고리즘
- 서울 흑산도홍어
- 10k 마라톤
- MongoDB foreach
- 알고리즘
- lombok
- 신설동역 맛집
- 가민 크로노스 러닝
- 가민
- 의정부 전주본가
- 서울 홍어삼합
- 10KM 러닝
- 인터벌러닝
- 마라톤
- 인터벌 러닝
- Garmin Chronos
- github command
- 신대방삼거리역 흑산도홍어
- 러너
- 가민 크로노스
- 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 |