0
테이블 이름과 테이블 이름이 있습니다. 아래는 데이터입니다.알파벳 제거 및 선행 0을 특정 문자 길이까지 삽입
ABC123
ABC1234
ABC12345
HA11
K112
L1164
알파벳을 제거하고 0으로 바꾸고 총 문자 길이를 9로해야합니다. 결과는 다음과 같습니다.
00000
0000
000
000000011
000000112
000001164
는 난 단지 그러나 나는 CASE 문을 작성 해야할지 모르겠다 ABC (특정 문자 집합)에 대한 변경하는 방법을 알고있다. 아래는 내가 성공한 것입니다.
select REPLICATE('0',9-LEN(A.B)) + A.B
from
(select replace(Item, 'ABC','') as B from Table) as A
나는 CASE와 SELECT를 결합하려고 시도했지만 그럴 것 같지 않습니다.
Case when Item like '%ABC%' then
select REPLICATE('0',9-LEN(A.B)) + A.B
from
(select replace(Item, 'ABC','') as B from Table) as A
when Item like '%HA%' then
select REPLICATE('0',9-LEN(A.B)) + A.B
from
(select replace(Item, 'HA','') as B from Table) as A
when Item like '%K%' then
select REPLICATE('0',9-LEN(A.B)) + A.B
from
(select replace(Item, 'K','') as B from Table) as A
when Item like '%L%' then
select REPLICATE('0',9-LEN(A.B)) + A.B
from
(select replace(Item, 'L','') as B from Table) as A
else Item
End
결과를 얻는 방법을 아는 사람이 있습니까? SQL Server 2012를 사용하고 있습니다.
감사합니다.
감사 미갈. 그것은 작동 = D. 그래서 전체 열을 변경하려면 하나씩 값을 선언해야합니까? 값을 @svarchar (20) = Table에서 항목 선택으로 변경하려고 했으므로이 값이 마음에 들지 않습니다. 도와 주셔서 다시 한번 감사드립니다 = D. –
@AdhityaSanusi 편집을 참조하십시오. 또한 운영자의주의가 필요하지 않도록 대답을 수락하십시오. –
감사합니다. Michal. 너는 다시 해냈어. D. 답장하는 데 너무 오래 걸려서 미안해. 휴가 동안. –