mysql date() 함수 관련 궁금증.

mysql date() 함수 관련 궁금증.

QA

mysql date() 함수 관련 궁금증.

답변 2

본문

function checkInWeek($date) {
   global $g5;
   $sql = "SELECT if (date(DATE_ADD(NOW(), INTERVAL -1 WEEK )) <= date('{$date}', 1,0) chk";
   $row = sql_fetch($sql);
   return $row['chk'];
}
 
for($i=1; $i <=4; $i++ )  {
    if (checkInWeek($row['od_date'.$i])) 
        echk " 1주일 이전일자 입니다. : ".$row['od_date'.$i];
}

 

https://sir.kr/qa/377793

플래토 님 코드 중 궁금한 게....저 핑크색 부분 ...올바른 거 맞나요?

뭔가 괄호짝이 안 맞는 느낌이랄까....

이 질문에 댓글 쓰기 :

답변 2

DATE_ADD 는 지금에서 1주를 빼는 것 같고

https://www.w3schools.com/sql/func_mysql_date_add.asp

 

Date 함수를 보면 https://www.w3schools.com/sql/func_mysql_date.asp

 

별도로 들어가는 것은 없고..

 

SQL IF문을 보니 https://www.w3schools.com/sql/func_mysql_if.asp

 

그것에 리턴되는 것이네요..

 


SELECT if (date(DATE_ADD(NOW(), INTERVAL -1 WEEK )) <= date(`{$date}`),1,0)

 

넘어 온것이 맞으면 1을 아니면 0을...

 

 

 

그럼, 혹시, $row['chk'] 값이 1과 0 둘 중 하나가 되는 건가요?
답변주신 검은색 코드 부분이 1또는 0이 되는 건 알겠는데,
chk는 어떤 용도로 바로 뒤에 써서 그것을 반환하는 것인지
이유가 이해가 잘 안 되네요. ^^;;


SELECT if (date(DATE_ADD(NOW(), INTERVAL -1 WEEK )) <= date(NOW()),1,0) chk

 

로 하면 1, 0값이 chk로 할당되는 것 같습니다. 즉 이 값으로..

$row['chk']

SQL 문장 테스트는 여기서 해보면 되네요

 

https://www.w3schools.com/sql/trymysql.asp?filename=trysql_func_mysql_date2

즉 $row

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 879
© SIRSOFT
현재 페이지 제일 처음으로