Crystal Reports字段筛选需求:找出非'LXX-XXXXXX'格式的数据
Crystal Reports Select Expert 筛选指定格式字段的公式
直接用以下公式在Select Expert中筛选符合LXX-XXXXXX格式的字段(XX代表数字,无空格、短横线位置正确):
Trim({YourFieldName}) LIKE "L##-######" AND Length(Trim({YourFieldName})) = 10 AND InStr(Trim({YourFieldName}), "-") = 4
公式各部分作用:
Trim({YourFieldName}):清除字段前后的空格,处理记录前后含空格的异常情况LIKE "L##-######":精准匹配格式规则——开头为L,后跟2位数字,接着短横线,最后是6位数字,#是Crystal Reports中匹配单个数字的通配符Length(Trim({YourFieldName})) = 10:确保处理后的字段总长度为10(L+2位数字+1个短横线+6位数字=10位),排除位数不符的异常记录InStr(Trim({YourFieldName}), "-") = 4:强制短横线位于第4位,避免短横线缺失、位置错误的情况
如果字段中间也可能存在空格(比如L12 - 012345这种),需要额外添加排除空格的条件,完整公式如下:
Trim({YourFieldName}) LIKE "L##-######" AND Length(Trim({YourFieldName})) = 10 AND InStr(Trim({YourFieldName}), "-") = 4 AND InStr({YourFieldName}, " ") = 0
使用方法:
- 打开Crystal Reports的Select Expert
- 选择需要筛选的目标字段,切换到「Formula」模式
- 粘贴上述公式,替换
{YourFieldName}为你实际的字段名称 - 保存筛选条件即可
内容的提问来源于stack exchange,提问作者JRoy
相关产品推荐
相关产品推荐

