복붙노트

[SQL] 날짜 시간과 같거나 MySQL은 오늘보다 더 큰

SQL

날짜 시간과 같거나 MySQL은 오늘보다 더 큰

어떤 것은 다음을 수행 할 수있는 가장 좋은 방법 :

SELECT * FROM users WHERE created >= today;

참고 : 생성은 날짜 필드입니다.

해결법

  1. ==============================

    1.

    SELECT * FROM users WHERE created >= CURDATE();
    

    하지만 <오늘 만든 의미 생각

  2. ==============================

    2.

    SELECT * FROM myTable WHERE  DATE(myDate) = DATE(NOW())
    

    더 읽기 :  http://www.tomjepson.co.uk/tutorials/36/mysql-select-where-date-today.html

  3. ==============================

    3.

    SELECT * FROM users WHERE created >= NOW();
    

    컬럼은 날짜 타입 인 경우.

  4. ==============================

    4.'생성'경우 날짜 유형입니다

    '생성'경우 날짜 유형입니다

    SELECT * FROM users WHERE created < DATE_ADD(CURDATE(), INTERVAL 1 DAY);
    

    CURDATE ()는 또한 '2013년 5월 9일 0시 0분 0초'수단

  5. ==============================

    5.표시 대답은 잘못된 것입니다. 언급 한 문제는 날짜 시간이지만, () 단지 CURDATE 무엇이 필요하다고 말했다.

    표시 대답은 잘못된 것입니다. 언급 한 문제는 날짜 시간이지만, () 단지 CURDATE 무엇이 필요하다고 말했다.

    이것에 짧고 정답은 :

    SELECT * FROM users WHERE created >= CURRENT_TIMESTAMP;
    
  6. ==============================

    6.열이 인덱스를 가지고 함수를 컬럼에 적용되는 경우 지수는 작동하지 않고 전체 테이블 스캔 정말 느린 쿼리를 일으키는 원인이 발생합니다.

    열이 인덱스를 가지고 함수를 컬럼에 적용되는 경우 지수는 작동하지 않고 전체 테이블 스캔 정말 느린 쿼리를 일으키는 원인이 발생합니다.

    인덱스를 사용하고 오늘 / 현재 날짜와 날짜를 비교하기 위해, 다음을 사용할 수 있습니다.

    OP를위한 솔루션 :

    select * from users
    where created > CONCAT(CURDATE(), ' 23:59:59')
    

    오늘 데이터를 가져 오기 위해 샘플 :

    select * from users
    where 
        created >= CONCAT(CURDATE(), ' 00:00:00') AND
        created <= CONCAT(CURDATE(), ' 23:59:59')
    

    또는 짧은에 대한 BETWEEN 사용

    select * from users 
    where created BETWEEN 
          CONCAT(CURDATE(), ' 00:00:00') AND CONCAT(CURDATE(), ' 23:59:59')
    
  7. ==============================

    7.

    SELECT * FROM users WHERE created >= now()
    
  8. ==============================

    8.아래의 코드는 나를 위해 일했다.

    아래의 코드는 나를 위해 일했다.

    declare @Today date
    
    Set @Today=getdate() --date will equal today    
    
    Select *
    
    FROM table_name
    WHERE created <= @Today
    
  9. ==============================

    9.

    SELECT * FROM table_name WHERE CONCAT( SUBSTRING(json_date, 11, 4 ) ,  '-', SUBSTRING( json_date, 7, 2 ) ,  '-', SUBSTRING(json_date, 3, 2 ) ) >= NOW();
    

    json_date [ "2011년 5월 11일"]

  10. ==============================

    10.즉 서버에 추가로드를 넣어 것입니다하지만 당신은, if 문 내부에 DATEDIFF 함수를 PHP 모든 행과 사용보다 반환 할 수 있습니다.

    즉 서버에 추가로드를 넣어 것입니다하지만 당신은, if 문 내부에 DATEDIFF 함수를 PHP 모든 행과 사용보다 반환 할 수 있습니다.

    if(dateDiff(date("Y/m/d"), $row['date']) <=0 ){    
    }else{    
    echo " info here";    
    }
    
  11. from https://stackoverflow.com/questions/5182275/datetime-equal-or-greater-than-today-in-mysql by cc-by-sa and MIT license