작성
·
730
0
안녕하세요! 강의 너무 잘 듣고 있습니다.
저는 문자열 데이터 관련해서 세가지 질문이 있습니다.
1. WHERE 절이나 BETWEEN, IN을 활용해서 문자열 데이터를 추출하려고 할 때 문자열 전체가 아니라 'A'와 같이 문자 하나만 입력하게 되면 맨 앞 문자를 기준으로 데이터가 나오게 되는건가요?
예를 들어 다음과 같은 경우가 궁금합니다!
2. %나 _와 같은 와일드 카드, 한 글자 와일드 카드는 LIKE랑만 사용할 수 있나요?
3. 숫자를 활용해서 데이터를 추출하고 싶을 때 '숫자' 이렇게 넣어 문자열을 활용해도 되나요? 뒤에 해커랭크 두번째 문제를 푸는데 where id = '1661' 이렇게 넣어도 답이 맞더라구요!
답변 1
1
1. MySQL에서 문자열에도 알파벳 순서 기반으로 >, BETWEEN 등의 명령어를 지원하고 있어 말씀하신대로 범위 지정이 가능합니다.
IN은 위 명령어들과 성격이 약간 다릅니다.
WHERE 컬럼 IN ( ) 은 컬럼의 값이 괄호 안에 들어가는 문자열들과 정확히 일치하는 경우만 찾으라는 의미입니다.
그래서 WHERE CustomerName IN ('B', 'C') 를 써 주면 B와 C로 시작하는 데이터가 모두 추출되는 것이 아니라 정확히 B 또는 C 라는 값을 가지는 데이터만 추출됩니다.
2. LIKE 와만 사용하는 것이 맞습니다. 1번에서 설명한 이유 때문에 IN 과는 함께 사용할 수 없습니다.
비슷한 질문을 하신 분이 계셔서 답변 링크 첨부 드리니 참고해 보세요!
3. 숫자 조건은 ' ' 안에 넣어도, 넣지 않아도 됩니다.
참고로 문자 조건은 ' '를 꼭 함께 써 주셔야 합니다.
친절한 답변 감사합니다 : )
1번 질문 관련해서는 답변해주신대로 알파벳 순서 기반으로 >, BETWEEN 등의 명령어를 지원하고 있군요. 이 부분은 알파벳말고 한글이나 다른 언어도 지원을 하나요?