2016-10-26 1 views
0

텍스트 파일 (쉼표로 구분 된 "텍스트 한정자")에서 데이터를 가져 오는 데 문제가 있습니다. 거의 30 년이 넘는 시간에서 수행 할 수있는 유일한 내보내기 유형입니다. 이전 시스템.텍스트 파일을 데이터베이스로 가져 오기 - 불필요한 공백 문자

필드에 "공백"을 사용하는 기존 시스템의 사용자가 문제입니다. 가져 오기 중에 SQL에 "NULL"로 표시되고 셀이 표시됩니다. Excel에서이 텍스트 파일을 열면 (정확)하지만 셀이 다르게 실제 빈 셀에 비해 다르게 동작 빈 셀

예 (즉, 메모장에서 나온 ++). example -> 오렌지 화살표 탭을 보여줍니다 (읽을 수 있도록 줄 지어) . 주황색 점이 공백을 표시합니다.

일부 Column1 데이터에는 공백 ("N"및 "B"행)이 있지만 문제가 발생하지 않습니다.

Column2 - 처음 8 열이 좋습니다. 텍스트 한정자 사이에는 아무 것도 없습니다. 행 9-13은 TEXT 한정자 사이에 공백이 있습니다. Excel 셀에로드 할 때 비어 있고 잘 보입니다. SQL Server에로드 할 때 오류가 발생합니다. Excel 파일에서이 값을로드하면 SQL에 NULL이 표시됩니다. 액세스와 함께 이것을 씻으려고했는데, dbo를 저장하고 SQL에서이 dbo를로드하면 NULL이 표시됩니다.

Column3 : 행 1이 좋음, 행 2와 3에서 문제가 발생합니다. 4-8은 X가 좋고 9는 NULL을 표시합니다.

모든 아이디어를 SQL Server에로드하는 방법은 무엇입니까? 열의 일부 설정을 내부 데이터 (공백을 무시하기 위해)로 변경하십시오 ...?

답변

0

당신이 공간이 그러나 많은 열 소독 및 넣어해야 들어,

UPDATE [yourTableName] 
SET [columnName] = '' 
WHERE [columnName] = ' '; 

복사 및 붙여 넣기와 같은 SQL을 실행할 수있는 데이터를 가져온 후 데이터베이스에 빈 문자열로 변환 할 가정 올바른 테이블 이름과 열 이름 당신이, 당신이 사용할 수있는 빈 문자열에 공백을 변경하는 것과 동시에 문자열의 시작과 끝에서 공백을 제거하고 싶다면

UPDATE [yourTableName] 
SET [columnName] = LTRIM(RTRIM([columnName])) 

은 "B"와 "N"을 정리하는 것이다 항목도.

+0

SQL 폼 텍스트 파일로 가져오고 싶습니다. ""또는 ""를 SQL에서 오류없이 가져오고 테이블에서 열/행은 비어 있습니다. "" – hyprex

+0

과 같은 방법으로 가져옵니다. UPDATE [yourTableName] SET [columnName] = '' WHERE [columnName] = 'NULL'; – hyprex

+0

예, 공간을 가져 왔을 때 NULL 또는 빈 문자열을 원하면 질문에서 이해하지 못했습니다. 내 대답을 편집 할게 ... –