我的 SQL Server 数据库表中的一列包含路径(不是文件路径,只是目录路径)。
LIKE
我目前有一个查询,它使用该函数返回给定文件路径的所有子文件夹;
WHERE Path LIKE @FilePath + '%'
在旁注中,我知道这种方法存在问题,因为 LIKE 使用的转义字符都是有效的文件路径字符。我将在完成的查询中正确使用 ESCAPE。
无论如何,回到我的问题。我希望能够修改查询,使其仅返回指定路径的直接子文件夹。这并不像在字符串末尾放一个斜杠那么简单,因为显然 % 通配符在解析字符串的正确部分时会吞噬所有内容。
我正在考虑使用 [^] 转义序列,也许做一个排除 \ 字符的搜索,但我没有运气。我试过这个;
WHERE Path LIKE @FilePath + '[^\]'
但它不会产生预期的结果,所以我什至不确定我是否正确使用它。