최대 1 분 소요

문제 링크

정답

SELECT *
FROM products
WHERE REGEXP_LIKE(description, '\\bSN[0-9]{4}-[0-9]{4}\\b', 'c')
ORDER BY product_id;

✅ Point

  • 조건 1: 대문자 ‘SN’으로 시작
    • REGEXP_LIKE 의 마지막 인자로 'c' 이라는 match type를 전달
    • 정확히 SN만을 참으로 인식하게끔 (전달하지 않으면, 대소문자를 구분하지 않고 참/거짓 판별)
  • 조건 2: 4digits-4digits 로 구성
    • 4 digits: [0-9]{4}
    • 단, 이렇게만 하면 숫자가 4개 보다 큰 경우또한 참으로 판별함
    • \b 를 통해 범위를 명확히 규정함
      • 즉, (SN0000-0000) 앞 뒤엔 단어가 붙지 않도록
      • WHERE REGEXP_LIKE(description, '(^|[^a-zA-Z0-9])SN[0-9]{4}-[0-9]{4}([^0-9]|$)', 'c') 와 유사한 기능 수행

태그: ,

카테고리:

업데이트: