본문 바로가기
Language/SQL

[SQL] 문자열 비교함수 알아보기 (MySQL)

by SooooooooS 2023. 12. 21.
728x90

※ 문제 풀이를 하면서 SQL 복습 정리 ※

📖  참고 및 공식문서

https://dev.mysql.com/doc/refman/8.0/en/string-comparison-functions.html

 

MySQL :: MySQL 8.0 Reference Manual :: 12.8.1 String Comparison Functions and Operators

12.8.1 String Comparison Functions and Operators Table 12.13 String Comparison Functions and Operators Name Description LIKE Simple pattern matching NOT LIKE Negation of simple pattern matching STRCMP() Compare two strings If a string function is given

dev.mysql.com


1️⃣  문자열 비교 함수

expr LIKE pattern 패턴 매칭
expr NOT LIKE pattern 패턴 부정 매칭
STRCMP(str1, str2) 2개의 문자열 비교

 

1. LIKE

expr LIKE pattern [ESCAPE 'escape_char']
  • Return 1(True) or 0(False)
  • 만약 expr 또는 pattern 이 null 일 경우 null 반환

📌 Pattern wildcard characters

  • % : 0개 이상의 문자와 대응
    • %abc% : abc, 1abc, abc2, 1abc2
  • _ : 1개 이상의 문자와 대응
    • a_b : a1b, a11b

📌 Escape

  • 특수문자(escape character)를 단순 문자로 사용한다는 것을 알려준다.
  • SELECT 'David_' LIKE 'David|_' ESCAPE '|'; → return 1
  • 패턴에 사용되는 것이 아니라  문자 '_'이 포함되어 David_ 패턴과 맞는지 확인한다.

2. NOT LIKE

expr NOT LIKE pat [ESCAPE 'escape_char']
= NOT (expr LIKE pat [ESCAPE 'escape_char'])
  • LIKE의 NOT을 취한 결과와 같다.

3. STRCMP()

STRCMP(expr1,expr2)
  • return 값
    • 0 : expr1 = expr2 일 경우
    • 1 : expr1 < expr2 일 경우
    • -1 : expr1 > expr2 일 경우
728x90