【发布时间】:2017-07-27 17:42:16
【问题描述】:
我正在尝试使用 SQL 进行文件搜索。我需要将搜索保留在我进行比较的目录中。在 SQL 中进行 LIKE 或 NOT LIKE 比较时,通配符 '%' 用于表示 0、1 或多个字符。有没有办法排除或分隔该通配符搜索中涉及的字符?我需要进行如下比较:
LIKE 'C:/Data/%.txt'
但是,我不希望 '%' 找到在通配符搜索中包含斜杠 '/' 字符的任何记录。我希望它返回如下示例:
C:/Data/file1.txt
C:/Data/records_2017.txt
C:/Data/listing#7.txt
但我不希望通配符在其中找到带有斜杠的记录,因为在我的情况下,它超出了我有兴趣在其中进行文件搜索的当前文件夹:
C:/Data/OtherFolder/file1.txt
C:/Data/System/SomethingElse/records_2016.txt
上面的例子会被返回,因为 Data 后面的斜线和 .txt 扩展名之间的所有内容都是通配符的免费游戏。我不希望在通配符搜索中返回上述示例。
我尝试做字符集,例如 [^/],但它似乎只能排除以斜杠“/”字符开头的字符串。我需要防止通配符在字符串中的任何位置使用斜杠。
【问题讨论】:
-
用您正在使用的数据库标记您的问题。