status_dk in ('PUBLISHED','CONFIRMED') and (ifnull(qty,0) - ifnull(created_delivery_qty,0))>0 and order_type_code!='LargePlannedOrder' and ((exe_sale_order_dtl_b.sale_status_b != 'DELETE' and exe_sale_order_dtl_b.sale_status_b != 'CLOSE') OR exe_sale_order_dtl_b.sale_status_b IS NULL) or ( status_dk in ('PUBLISHED','CONFIRMED') and (ifnull(qty,0) - ifnull(created_delivery_qty,0))>0 and order_type_code!='LargePlannedOrder' and ((exe_sale_order_dtl_b.sale_status_b != 'DELETE' and exe_sale_order_dtl_b.sale_status_b != 'CLOSE') OR exe_sale_order_dtl_b.sale_status_b IS NULL) and customer_code_show like (select POSITION as name from jy_person where id = '${PERSON_ID}') || "%" ) 这个sql的where条件里 "%" 这个是什么作用
时间: 2024-04-09 22:32:12 浏览: 73
time_series_covid19_confirmed_global.csv
在SQL语句中,百分号(%)是一个通配符,用于模糊匹配字符串。在这个特定的SQL语句中,%用于与子查询的结果进行字符串拼接,以实现更精确的匹配条件。
具体来说,这个子查询是:`select POSITION as name from jy_person where id = '${PERSON_ID}'`。它会返回一个名为name的结果集,该结果集包含了满足条件`id = '${PERSON_ID}'`的jy_person表中的POSITION字段的值。
然后,将这个子查询的结果与"%"进行字符串拼接,并将拼接后的字符串用作WHERE条件中的customer_code_show字段的值,以实现更精确的匹配。这样可以根据特定的人员ID来筛选符合条件的数据。
总之,%在这个SQL语句中用于模糊匹配和字符串拼接,以实现更精确的条件筛选。
阅读全文