SQL 작성할 때, 언제 like 쓰고 언제는 = 로 쓰는지 헷갈립니다
예를 들어 기본 모의고사 07회, 3번문제에서
정답은
lst.사원정보.rowsource = "select * from 사원관리 where left(이름,1)='" & txt이름 & "' and 부서명 '" & cmb부서명 & "' and 직위='" & cmb직위 & "'"
로 되어있는데
저는
lst사원정보.RowSource = "select * from 사원관리 where left(이름,1) like txt이름 and 부서명 like cmb부서명 and 직위 like cmb직위"
로 했지만
눈으로 봤을 땐 출격결과가 같았는데, 어떤 차이점이 있는지
언제 like를 쓰는지 궁금합니다
like 는 포함하는 값을 찾기 때문에
첫번째 코드는 txt이름에 입력된 값과 left(이름,1) 에 해당하는 값이 정확히 일치해야 하고
두번쨰 코드는 txt이름에 입력된 값이 left(이름,1) 에 포함된 값이면 되는 것입니다.
같은 결과가 나온다면 어느것을 사용하시든 상관 없습니다.
다른 문제에서는 다른결과를 나타낼 수 있습니다. 만약 이름='" & txt이름 & "' 로 작성한 경우
이름에 시나공이라는 이름이 있으면
txt이름에 시나공 을 입력해야 시나공에 해당하는 값을 찾을 수 있지만
like 를 사용한 경우 txt이름에 시 만 입력해도 시나공을 찾을 수 있는 것입니다.
좋은 하루 되세요.
"-
*2015-01-23 14:28:17
like 는 포함하는 값을 찾기 때문에
첫번째 코드는 txt이름에 입력된 값과 left(이름,1) 에 해당하는 값이 정확히 일치해야 하고
두번쨰 코드는 txt이름에 입력된 값이 left(이름,1) 에 포함된 값이면 되는 것입니다.
같은 결과가 나온다면 어느것을 사용하시든 상관 없습니다.
다른 문제에서는 다른결과를 나타낼 수 있습니다. 만약 이름='" & txt이름 & "' 로 작성한 경우
이름에 시나공이라는 이름이 있으면
txt이름에 시나공 을 입력해야 시나공에 해당하는 값을 찾을 수 있지만
like 를 사용한 경우 txt이름에 시 만 입력해도 시나공을 찾을 수 있는 것입니다.
좋은 하루 되세요.
"