2013-07-22 2 views
-3

내 열 중 하나에 숫자가 아닌 값이 있습니다. 나는 아래에서 연산자 사이에 사용하고 있지만 연산자 사이에 아닌 숫자 값이 아닌 것이 좋습니다, 누군가가이 쿼리를 다시 작성하는 방법을 제안 할 수 있다고 생각합니다. BETWEEN은 올바른 결과를 보여주고있다하지만 난 여기에 숫자가 아닌 값을 사용할 수 없습니다 : 그것은 구성 요소 부품의에숫자가 아닌 값에 대한 SQL의 대체

select * from test 
where textnumber between ('a64') AND ('a64.3'); 
+0

이 쿼리로 얻고 싶은 값은 무엇입니까? – mishik

+0

where 절의 문자를 제거하고 select에 다시 추가하는 방법은 무엇입니까? 항상 한 글자입니까? – logixologist

+0

저는 BETWEEN 연산자를 백엔드 SQL로 사용하는 a64를 얻고 싶었습니다. 그러나이 코드는 논리에 대해 작동하지 않습니다. 여기서 BETWEEN 연산자를 사용하지 않으면 다른 방법이 있습니다. 또한 나는 thsi 목적으로 임시 테이블을 생성하고 싶지 않습니다. –

답변

2

당신은 항상 BETWEEN을 분리 할 수 ​​있습니다.

SELECT * 
FROM test 
WHERE textnumber >= 'a64' 
    AND textnumber <= 'a64.3'; 

는 사실 당신은 그가 실제로 그것을 권장 것을 볼 수 What do BETWEEN and the devil have in common? 아론 버트 랜드의 블로그를 읽으면. 특히 날짜를 위해, 당신이 함께 일하는 것은 아니지만.

또한 문자열과 숫자가 같지 않음을 유의하십시오. 예를 들어 'a64.30' 일 경우 NOT을 위 쿼리에서 선택합니다.

+0

그게 효과가 있어요. 감사 –

관련 문제