테스트 사이트 - 개발 중인 베타 버전입니다

제가 잘못 알고 있나요? 채택완료

컴대장 5년 전 조회 1,946

select * from shop_member where mb_id between 'a' and 'b'

 

이렇게 쿼리문을 날리면 아이디가 a로 시작하는거나 b로 시작하는거

 

모두 나와야하는거 아닌가요?

 

a로 시작하는 것만 나오네요...ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
M
5년 전

between절은 범위를 검색하는 거고 질문 내용대로 찾으시려면

like절 쓰셔야 합니다

 

SELECT * FROM shop_member WHERE mb_id LIKE 'a%' OR LIKE 'b%';

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

컴대장
5년 전
네..그렇습니다.
a부터 b까지 자료를 뽑아내야하지요.
그런데 a만 나온다는 거지요.
select * from shop_member where mb_id between 'a' and 'g'
이렇게 날리면 a,b,c,d,e,f 까지만 나와요~ㅎ

댓글을 작성하려면 로그인이 필요합니다.

5년 전

a로 시작하는 것만 나오네요...ㅠ

<----당연하죠

mb_id between 'a' and 'b' ==> mb_id >= 'a' and  mb_id <= 'b' 이렇게 되는데

아이디가 b한글자로만 되어있다면 당연히 출력 됩니다

그러나 아이디가 bbbb, b1234, basdfg, best1234 이런 것은 b보다 크죠 그러니 당연히 안 나옵니다

따라서 mb_id between 'a' and 'c' 이렇게 해야 a, b로 시작하는 아이디가 나옵니다

( c한글자로만 된 아이디는 없으니 c로 시작하는 아이디는 출력 되지않습니다)

 

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

컴대장
5년 전
아 그렇겠네요. 조언 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인