<if test="orgIds != null and orgIds != ''">
and instr(','|| #{orgIds} ||',',','||b.id||',') > 0
</if>
instr(完整字符串, 子字符串): 这是一个标准的 SQL 函数,用于查找一个字符串 (子字符串) 在另一个字符串 (完整字符串) 中的位置。如果找到,返回子字符串开始的位置;如果没有找到,则返回 0。
' ,' || #{orgIds} || ', ': 创建了一个以逗号开头和结尾的字符串,其中包含了所有的 orgIds。
',' || b.id || ',': 创建了一个以逗号开头和结尾的字符串,其中包含了当前记录的 id。
instr(','|| #{orgIds} ||',',','||so.id||','): 使用 instr 函数来检查 so.id 是否存在于 #{orgIds} 列表中。
如果 b.id 存在于 #{orgIds} 列表中,那么 instr 函数将返回一个大于零的数字,表示 so.id 的起始位置。否则,返回 0 表示 so.id 不在列表中。
<if test="name != null and name != ''">
and instr(a.EMPLOYEE_NAME,#{name}) > 0
</if>
也可用于模糊查询。