FoxPro中SCAN FOR循环报错:为何LIKE语句无法使用?
为什么VFP的SCAN FOR语句中不能直接使用LIKE?
Visual FoxPro(VFP)的SCAN FOR属于原生xBase命令体系,它的表达式规则和SQL查询语法不兼容,LIKE是SQL专属的运算符,无法在SCAN FOR的条件中直接使用。
要在SCAN FOR里实现模糊匹配,得用VFP自带的字符串匹配工具:
- 使用
$运算符:判断指定子串是否存在于目标字符串中SCAN FOR table2_data.item_id = table1_data.item_id AND 'loaded' $ table2_data.status - 使用
AT()函数:返回子串在目标字符串中的起始位置,返回值大于0则表示存在SCAN FOR table2_data.item_id = table1_data.item_id AND AT('loaded', table2_data.status) > 0
额外说明:LIKE仅能在VFP的SQL语句(如SELECT、UPDATE)中使用,比如:
SELECT * FROM table2_data WHERE status LIKE '%loaded%'
内容的提问来源于stack exchange,提问作者DizzleBeans
相关产品推荐
相关产品推荐

