2012-06-05 3 views
0

2012 년 7 월 6 일 내 테이블에 날짜가 저장되었습니다. 나는 그 (것)들을 통해 반복하고 날짜가 오늘 날짜 인 경우에 admin에게 전자 우편을 보내고 싶다. 나는 이것을 시도했지만, 나는 날짜 형식을 먼저 콘서트해야한다고 생각한다.php/mysql이 날짜를 검색하고 오늘 날짜 인 경우 이메일을 보냅니다.

SELECT email, name, phone_no FROM table WHERE TO_DAYS(date)=To_DAYS(NOW()); 
If true then send email to admin. 
//eg. John's birthday is today. Pls call him on 00001332424; 

감사

답변

1

예, 먼저 기본 MySQL의 날짜/시간 형식으로 변환해야합니다. 날짜를 문자열로 저장하는 것은 그 날짜를 조작 할 필요가 없다면 멋지게 멋지게됩니다. 하지만 곧 당신은 고통의 세계에 빠지게됩니다. 인덱스를 사용할 수없고 쿼리를 실행할 때마다 모든 문자열을 변환해야합니다.

기본 날짜 필드에 문자열, 그때는 당신이 '기본'형식으로 날짜를했으면 무엇이 가능한지 아이디어를 제공하기 위해

SELECT .... WHERE datefield=CURDATE(); 

의 간단한 문제입니다, 여기에 MySQL의 날짜/시간 조작 함수는 다음과 같습니다 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

많은 것들이 있지만 거의 모든 것이 원래 날짜 필드에서만 작동하고 임의의 문자열에서는 작동하지 않습니다 (문자열 < -> 기본).

+0

오른쪽 방향으로 이끌 기 위해 +1. –

+0

통찰력이 .. 좀 더 봐봐. 나는 문자열 형식으로 날짜를 필요로하는 사람을 위해 시스템을 혼란스럽게 만들었 기 때문에이 시스템을 설계했습니다. 이제는 네이티브 형식으로 날짜를 저장해야하므로 내 쿼리에서 도움이됩니다. – karto

+0

생각 해봤는데 ... PHP에서 문자열에서 날자를 날자로 변경하는 함수가 있습니까? 그래서 그것은 쿼리에서 사용될 수 있습니다. 반대가 가능합니다. 권리? – karto

관련 문제