MySql 에서 오늘 날짜만 볼때 이전까지는 기간을 주어서 검색했다.

 

예를들어 

 

ex ) select * from 테이블 Where date_format(create_date,'%Y%m%d') = date_format(NOW(),'%Y%m%d')

 

이렇게 검색을 하게되면 쿼리 질의 중에 컬럼의 값들을 date_format()함수로 한번더 변형을 하는 과정 때문에 질의 시간이 꽤나 길게 나왔다.

 

그래서 조금더 쉽고 간결하게 데이터를 뽑을 방법을 찾다가 찾게 된게 curdate(), CURRENT_DATE() 이다.

 

select * from 테이블 where 컬럼명 > CURRENT_DATE();

 

select * from 테이블 where 컬럼명 > curdate();

 

이렇게 두가지를 사용할수있다.

 

단 위의 두가지를 사용할 경우 컬럼명이 datetime형태 여야 활용 가능하다.

 

아래는 두가지 활용하여 쿼리 질의했을때 질의문의 응답시간 비교다.

 

 

 

 

반응형

'코딩쟁이 > mysql' 카테고리의 다른 글

[MySql] REGEXP  (0) 2018.12.10

mysql 을 사용하면서 like 문으로 여러개를 검색해야할때가 있다.


예를들어 컬럼하나에 매출과 렌탈이란것을 검색해야한다면.


IF(컬럼 REGEXP '매출|렌탈',1,0)


이런식으로 구현하여 like In으로 쓸수 있다고한다.


(like in 은 개념상 like와 In 을 같이 쓸수 없을까하고 구글링해본 키워드.)


아래 링크는 mysql 에서 regexp 의 도큐먼트



반응형

'코딩쟁이 > mysql' 카테고리의 다른 글

[Mysql] 오늘 날짜만 뽑아서 볼때 좋은 팁  (0) 2019.11.28

+ Recent posts