나는이 코드를 업데이트해야 할 때와 비슷한 질문을 게시했다. 나는 후속 질문을하기 위해 돌아왔다. 이전 질문은 여기에 있습니다 :
Computed column based on nullable columnsComputed Column (COALESCE vs CASE vs ISNULL)
내 데이터 (Address1, Address2, City, State, Zip, Country
은) 불완전한 정보가있을 수 있습니다. 나는. State
및 Country
열 이외의 데이터에는 데이터가 보장되지 않습니다.
FullAddress
에 대한 계산 열을 갖고 싶습니다.
이전에는 모든 입력란을 채우면 큰 효과를 보았던 COALESCE
을 사용했습니다. 이제는 데이터 요구 사항이 완화되어 더 이상 선택 사항이 아닙니다 (FullAddress
에 반복되는 쉼표로 끝남). 여기 내가 이전에 사용했던 것입니다 (참고, 사용 편의성을 위해 여기 SELECT 문을 사용하고 있습니다 - 모든 경우에 사용할 수있는 무언가를 계산 열 "alter table add"로 변환합니다)) :
FullAddress
이있을 것입니다)
SELECT (((((COALESCE([Address1],'')
+ COALESCE(', '+[Address2],''))
+ COALESCE(', '+[City],''))
+ COALESCE(', '+[State],''))
+ COALESCE(', '+[Zip],''))
+ COALESCE(', '+[Country],'')) AS FullAddress
FROM Locations
지금, 나는 함께 CASE
를 사용하여 대안을 넣어,하지만 Address1 is NULL
어디 여전히 가장자리 경우에 작동하지 않습니다
SELECT CASE WHEN [Address1] IS NOT NULL THEN [Address1] ELSE '' END
+ CASE WHEN [Address2] IS NOT NULL THEN ', ' + [Address2] ELSE '' END
+ CASE WHEN [City] IS NOT NULL THEN ', ' + [City] ELSE '' END
+ CASE WHEN [State] IS NOT NULL THEN ', ' + [State] ELSE '' END
+ CASE WHEN [Zip] IS NOT NULL THEN ', ' + [Zip] ELSE '' END
+ CASE WHEN [Country] IS NOT NULL THEN ', ' + [Country] ELSE '' END
AS [FullAddress]
FROM Locations
나는이 po에 조금 붙어 있습니다. int. 다음에 시도 할 추천 사항은 무엇입니까?
무엇이 문제입니까? –
내 질문은 : 어떻게 누락 된 데이터 (예 : Address1 누락) FullAddress 계산 열이 ',' –