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

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

QA

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

본문

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

답변을 작성하시기 전에 로그인 해주세요.
전체 2,512
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT