Loading

SQL Server 데이터 원본의 추출을 만들 때 Error converting data type varchar to float 오류 발생

게시 일자: Aug 24, 2022
상세 설명
SQL Server 데이터 원본에 연결하려고 할 때 다음 오류 중 하나가 발생할 수 있습니다. 
  • 데이터 원본 <데이터 원본 이름>과(와) 통신하는 동안 오류가 발생했습니다.
    SQL Server 데이터베이스 오류 0x80040E07: 데이터 형식 varchar를 float으로 변환하는 중 오류가 발생했습니다.
  • [Microsoft][SQL Server Native Client 11.0][SQL Server] 데이터 형식 varchar를 float으로 변환하는 중 오류 발생 
    추출을 만들 수 없음

Cause

이 오류는 문자열에 다음이 포함되는 경우 SQL Server가 문자열 값을 숫자 값으로 변환할 수 없기 때문에 발생합니다.
  • $, £ 또는 ¥과 같은 통화 기호. 예: "$123".
  • 쉼표. 예: "100,000".
  • 통화 기호, 쉼표(,), 소수점(.), + 기호 또는 - 기호의 단일 문자. 예: "$".
  • 2개 이상의 마침표. 예: "1.1.0".
  • 잘못 배치된 + 또는 - 기호. 예: "2-".
솔루션
데이터에 따라 다음 옵션 중 하나를 사용합니다.
  • 변환 전에 데이터에서 통화 기호와 쉼표를 분리하는 계산된 필드를 만듭니다. 
  • + 기호, - 기호 및 소수점(.)과 같은 문자가 올바른 숫자 형식으로 배치되었는지 확인합니다. 예를 들어 + 및 - 기호는 숫자 왼쪽에만 사용될 수 있습니다(예: -2). 
  • 문자열 데이터 값이 통화인 경우 문자열을 숫자에 캐스팅하기 전에 SQL Server의 MONEY 데이터 유형에 캐스팅하는 rawSQL을 사용할 수 있습니다. 예를 들면 다음과 같습니다.
RAWSQL_REAL("CASE WHEN ISNUMERIC(%1) = 1 THEN CAST(CAST(%1 AS MONEY) AS FLOAT) END", [<Your_String_Field>])
Knowledge 기사 번호

001498347

 
로드 중
Salesforce Help | Article