T-SQL에서 전화 번호를 다시 작성하는 방법은 무엇입니까?
-
03-07-2019 - |
문제
T-SQL에는 초보자 질문이 있습니다.
우리는 Excel 시트를 SQL Server 2008로 가져 왔습니다.이 Excel 파일은 너무 나쁘다. 우리는 전화 번호가 다음과 같이 보이기를 원합니다. 때로는 숫자가 접두사 '0123-2349823'또는 '0123/2349823'으로 인코딩됩니다.
일반적으로 Excel 파일을 a로 내 보냅니다 CSV 파일을 파일 한 다음 매직 Perl 스크립트를 시작하여 청소를 수행 한 다음 Excel 파일을 다시 임금으로 재구성하십시오.
그럼에도 불구하고 T-SQL로 이와 같은 일을하는 방법을 아는 것은 흥미로울 것입니다.
어떤 아이디어?
해결책
같은 것
replace(replace(rtrim(ltrim('0123-2349823')), '-', ''), '/', '')
작동해야합니다. 예쁘지 않습니다. ;)
다른 팁
업데이트로 진행하여 SQL의 'REPLATE'및 LTRIM/RTRIM 기능을 사용합니다.
Update Table1
set phonenum = Case
When phonenum like '%-%' Then LTrim(RTrim(Replace(phonenum, '-', '')))
Else LTrim(RTrim(Replace(phonenum, '/', '')))
End
"청소"에는 숫자 값 만 포함됩니다
전화 번호에 "-", "/"가 포함되어 있는지 여부에 따라 빈 문자열로 교체하십시오.
create table #t ( tel varchar(30) )
insert #t select '0123-2349823'
insert #t select '0123/2349823'
select tel,
replace(tel,
case
when patindex('%-%', tel) > 0 then '-'
when patindex('%/%', tel) > 0 then '/'
end, '') as Cleaned
from #t
제휴하지 않습니다 StackOverflow