ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MYSQL 소소한 팁
    스파르타/TIP 2023. 11. 28. 15:36

     

    •  MYSQL에서는 ISNULL을 못쓴다
      • 코딩테스트 연습을 하는 와중에 책에서 배운 ISNULL을 쓰면 되는데 자꾸 오류가 나서
        구글에 검색해 보니 IFNULL을 써야 MYSQL에서 작동한다 

     

    • 날짜의 차이를 구하는 함수 : datediff()
      • select문에서 날짜 두개 써서 -로 하고 있으면 절대 안나온다
      • 현재의 시간을 구하는 함수 : now()  
        • datediff( now() , 뺴 줄 날짜) = 날짜의 차이를 구할 수 있다

     

    • IN과 REGEXP
      • IN은 다중연산자로 OR의 의미를 가지고 있다
        그래서  문제였던 '자동차 종류별 특정 옵션이 포함된 자동차 수 구하기'의 조건을 구하는 와중
        자꾸 빈 공백의 데이터만 출력이 되었다. 
        분명 내가 아는 것이 맞고 조건도 맞게 썼는데  왜 안 나오지?라는 생각만 가득이었다
        결국 질문하기 칸을 눌렀고 답을 알아냈다.  
        문제의 조건은 다음과 같다.  
      • CAR_RENTAL_COMPANY_CAR 테이블에서 '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL문을 작성해 주세요. 
        IN 연산자는 조건이 정확히 일치하는 것들을 반환한다. 즉 저 3개의 조건만 일치해야지 답이 나온다
        여러 가지 옵션 중 저 3개의 답만 있는 경우에만 나오는 것이라서 이럴 때에는 IN과 비슷하지만 더욱 

        엄청난 녀석을 써야 한다.

      • REGEXP라는 regular expression 정규 표현식이다.
        • IN보다 복잡한 조건으로 검색을 할 수 있다. 
        • 나도 오늘 배운 거라서 잘 모르기 때문에 구글에 쳐서 검색해 볼 것.

    '스파르타 > TIP' 카테고리의 다른 글

    태블로 집계식  (0) 2024.06.14
    2/2  (1) 2024.02.05
    프로그래머스_즐겨찾기가 가장 많은 식당 정보 출력하기  (1) 2023.11.30
    프로그래머스 - 루시와 엘라 찾기  (0) 2023.11.29
Designed by Tistory.