번호 당신은 단지 표현을위한 동적 값을 가질 수 있지만, 간격에하지 단위 키워드. 단위 키워드는 SECOND
, DAY_MICROSECOND
등이 될 수 있습니다.
이러한 단위 이름을 연결하면 문자열 표현이되며 간격 값으로 계산할 수 없습니다. 이렇게하려면 자리 표시 자 (prepared statement)를 사용할 수 없습니다.
또는 프로그래밍 언어로 부분 문자열을 연결하여 쿼리를 생성 할 수 있습니다.
String part1 = "SELECT DATE_ADD(some_date, INTERVAL some_number ";
String part2 = "WEEK"; // say as default value
if(my_condition_1_is_satisfied) then part2 = "DAY"
else if(my_condition_2_is_satisfied) then part2 = "MONTH"
else ...
// then concatenate part1 and part 2
String sql = part1 + part2;
// now your query string is ready to use
를 참조하십시오 DATE_ADD(date,INTERVAL expr unit)