복붙노트

[SQL] 왜 ISNUMERIC ( '는.') 1을 반환합니까?

SQL

왜 ISNUMERIC ( '는.') 1을 반환합니까?

나는이 코드 조각을 찾는 주도 문제를 발생 때 최근에 나는, SQL 서버에서 ISNUMERIC 작업을했다.

SELECT ISNUMERIC('.')

사실 같이이 반환 일,해야하지 거짓과 같이이 반환 0?

해결법

  1. ==============================

    1.참조 ISNUMERIC () 브로큰? 만 포인트까지.

    참조 ISNUMERIC () 브로큰? 만 포인트까지.

    SELECT CAST('.' AS MONEY) 
    

    (캐스트 INT와 플로트에 실패하지만) 0.00을 반환

    값은 일반적으로 쓸모 숫자 데이터 유형 중 어느 하나를 전송할 수 있음을 바로 확인 ISNUMERIC. 일반적으로 당신은이 특정의 형식으로 캐스팅 할 수 있는지 여부를 알고 싶어요.

    또한 그것도 가능한 모든 입력에 대해 올바르게 해당 작업을 수행하지 않는 것 .. ISNUMERIC ( '') INT과 비용에 성공적으로 캐스팅에도 불구하고 0을 반환합니다. 반대로 ISNUMERIC은 (N'8 ') 1을 반환하지만 내가 시도하는 것이 아무것도 성공적으로 캐스팅하지 않습니다.

    그것에 대해 몇 가지 유용한 도우미 기능, ISNUMBER되지 않으며, 여기 ISNUMBER 있습니다.

    SQL 서버 2012은 크게이 도움 것을 TRY_PARSE 및 TRY_CONVERT을 소개했다.

  2. ==============================

    2.때문에 "." 진수 번호를 사용!

    때문에 "." 진수 번호를 사용!

    여기를 봐

  3. ==============================

    3.나는 더 정보를 원하시면 여기있다, 또한 숫자로 다른 숫자가 아닌 필드의 숫자를 해석 생각 -

    나는 더 정보를 원하시면 여기있다, 또한 숫자로 다른 숫자가 아닌 필드의 숫자를 해석 생각 -

    http://classicasp.aspfaq.com/general/what-is-wrong-with-isnumeric.html

  4. from https://stackoverflow.com/questions/7400318/why-does-isnumeric-return-1 by cc-by-sa and MIT license