공지사항 SQL문

agnusdei·2023년 7월 5일
0
post-custom-banner
<select id="selectList" parameterType="cmmnDefaultVO" resultType="ntcVO">
/* Ntc.selectList */
<![CDATA[  
 SELECT  NT_SEQ								 ntSeq
      ,  DATE_FORMAT(NT_RGST_DT,'%Y.%m.%d')  ntRgstDt
      ,  F_USER_NM(NT_RGST_ID) 				 ntRgstId
      ,  NT_ATCH_FILE_ID 					 ntAtchFileId
      ,  NT_TITLE							 ntTitle
      ,  NT_CONT 							 ntCont
      ,  NT_STATE							 ntState
      ,  NT_STA_DATE						 ntStaDate
      ,  NT_END_DATE						 ntEndDate
      ,  IF(NT_STATE = 'Y' AND NOW() >= NT_STA_DATE AND NOW() < NT_END_DATE, 'Y', 'N') as noticeYn
   FROM  T_NTC   
  WHERE  NT_USE_YN='Y'	    
]]>    
 <include refid="Where"/>	 
<![CDATA[     
  ORDER  BY noticeYn DESC, NT_SEQ DESC
  LIMIT  #{firstIndex} , #{recordCountPerPage}
]]>
</select>
  1. NT_STATE 컬럼의 Y 값은 공지, N 값은 일반글로 구분됩니다.

  2. IF 함수를 통해 현재 유효한 날짜의 공지들만 조회합니다.

  3. IF(조건, 조건의 결과가 참일 경우, 조건의 결과가 거짓일 경우)

  4. ORDER BY 에서 공지글과 공지가 아닌 글을 각각 정렬합니다. (포인트)

post-custom-banner

0개의 댓글