<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dynamicSearch">

<sql id="start">
  <if test="mainOption == 'codeValue'"> AND GET_CODE_NM(#{subOption},</if>
  <if test="mainOption == 'match'"> AND </if>
  <if test="mainOption == 'ymd'"> AND SUBSTR(</if>
</sql>

<sql id="center">
  <if test="mainOption == 'codeValue'">
  ) LIKE 
    <if test="_databaseId == 'mariadb'"> CONCAT('%', </if>
    <if test="_databaseId == 'oracle'"> '%' || </if>
  </if>
  <if test="mainOption == 'match'">
    <if test="subOption == 'perfect'"> = </if>
    <if test="subOption == 'part'">
    LIKE 
      <if test="_databaseId == 'mariadb'"> CONCAT('%', </if>
      <if test="_databaseId == 'oracle'"> '%' || </if>
    </if>
  </if>
  <if test="mainOption == 'ymd'">,1,8) = REPLACE(REPLACE(REPLACE(</if>
</sql>

<sql id="end">
  <if test="mainOption == 'codeValue'">
    <if test="_databaseId == 'mariadb'"> , '%') </if>
    <if test="_databaseId == 'oracle'"> || '%' </if>
  </if>
  <if test="mainOption == 'match'">
    <if test="subOption == 'perfect'"></if>
    <if test="subOption == 'part'">
      <if test="_databaseId == 'mariadb'"> , '%') </if>
      <if test="_databaseId == 'oracle'"> || '%' </if>
    </if>
  </if>
  <if test="mainOption == 'ymd'">,'-',''),'/',''),'.','')</if>
</sql>

</mapper>