SQL记录
1、FIND_IN_SET(BASE_CODE,#{baseCode})
FIND_IN_SET 函数用于在一个逗号分隔的字符串列表中查找一个指定的字符串,并返回其在列表中的位置。如果找到该字符串,则返回其在列表中的位置(从1开始计数);如果没有找到或参数为NULL,则返回0。
假设你有一个表 zbi
,其中 BASE_CODE
字段包含逗号分隔的字符串列表,如下所示:
BASE_CODE |
---|
A,B,C |
D,E,F |
G,H,I |
使用 FIND_IN_SET
函数可以查找 BASE_CODE
字段中包含特定值的记录。例如,查找 BASE_CODE
字段中包含 B
的记录:
sql复制
SELECT * FROM zbi WHERE FIND_IN_SET('B', BASE_CODE) > 0;
执行上述查询后,结果将只包含 BASE_CODE
字段中包含 B
的记录:
BASE_CODE |
---|
A,B,C |
2、AND zbi.BASE_CODE LIKE CONCAT(#{behaviorTypeCode},'%')’
这个条件用于筛选 zbi.BASE_CODE
字段以 behaviorTypeCode
开头的记录。这里使用了 CONCAT
函数来动态构建 LIKE
子句的模式字符串。
示例
假设 behaviorTypeCode
的值为 A
,zbi
表中的 BASE_CODE
字段包含以下数据:
BASE_CODE |
---|
A123 |
B456 |
A789 |
C012 |
A345 |
使用条件 AND zbi.BASE_CODE LIKE CONCAT(#{behaviorTypeCode},'%')
进行筛选后,结果将只包含 BASE_CODE
字段以 A
开头的记录:
BASE_CODE |
---|
A123 |
A789 |
A345 |