2012-10-31 5 views
-2

varchar를 숫자로 변환하는 사용자 정의 함수를 함께 사용하는 방법에 대한 팁을 찾고 있습니다. 트릭은 문자열의 일반적인 텍스트 표현을 숫자로 변환하는 것입니다. 또한 숫자로 구문 분석 할 수없는 경우 오류를 던지고 쿼리를 중지하는 대신 NULL을 반환하고 싶습니다.SQL Server 키 값 쌍은 varchar를 예외없이 숫자로 변환합니다.

예 :

  • VARCHAR '10 % $ 1,00.1234 '100.1234은 ($ 서명을 분리 수치 해석한다'숫자 0.1 (아니오 제거 % 기호 100 분할기)
  • VARCHAR로 분석한다 " 그리고,)
  • VARCHAR '$ 1,000 1000'(k는 1 일만) 곱하는 변환 등의 수치 해석한다
  • VARCHAR '$ 1M이'1000000 (m은 1 백만)
  • 곱하는 변환 등의 수치 해석되어야 varchar '$ 1B'는 (는) 평등해야합니다. SE는 수치 1000000000로
  • VARCHAR '100'등의 수치 해석한다 (1000) (에서는 LTrim은 & RTRIM)
  • VARCHAR '임의의 텍스트'등의 숫자 NULL 파싱한다은 (NULL이 던져 않을 것이다 (b 1 억 곱 변환) 오류)

답변

2

이 복잡한 구문 분석 CLR 함수를 사용하는 것이 좋습니다. 그런 다음 데이터를 수정하십시오.

숫자가 아닌 값 이외에 통화, 백분율, 혼합 소수점/구분 기호 서식이 있습니다.

관련 문제