>

Mysql 쿼리는

SELECT 
    userid as uid, 
    CONCAT( firstname, ' ', lastname ) AS name,
    profileimage,
    joining_date, 
    role as designation
FROM pr_users_details
INNER JOIN pr_users ON pr_users.id = pr_users_details.userid
LEFT JOIN pr_userroles ON pr_userroles.id = pr_users.userroleid
WHERE joining_date > DATE_SUB( NOW()-1 , INTERVAL 15 DAY )
ORDER BY pr_users_details.id DESC

1 년 전의 결과를 얻었습니다. 새로운 채용 정보, 즉 오늘 날짜-15 일을 표시하고 싶습니다. 뭔가 빠졌습니까?

  • 답변 # 1

    날짜/시간을 문자열이 아닌 날짜 시간으로 저장해야합니다. 비교를하려면 값을 문자열로 변환해야합니다.

    WHERE STR_TO_DATE(joining_date, '%d-%m-%Y') > DATE_SUB( NOW()-1 , INTERVAL 15 DAY )
    
    

    그러나 데이터를 수정해야합니다 :

    update ?  -- whatever the table is
        set joining_date = STR_TO_DATE(joining_date, '%d-%m-%Y');  -- this will convert the date to a canonical format
    alter table t alter column joining_date date;
    
    

  • 이전 XML 파일 용 Talend에서 메타 데이터 생성시 파일 크기 제한이 있습니까?
  • 다음 java - 암호화 및 해독