如何比较SQL中的文本数据类型

如何比较SQL中的文本数据类型,sql,text,compare,equals,sql-like,Sql,Text,Compare,Equals,Sql Like,我有一个名为filePath的列,它的数据类型是TEXT。如何将文件路径与另一个区分大小写的字符串进行比较 例如: SELECT * FROM source_code_links WHERE filePath = "C:\CtrlSpaceData\CtrlSpace VCS\ba4fe9cbcbdb14a7cbc91fdf65f9e98178afe353\src\servlets\Test.java"; 我试过,但效果不太好。 我也尝试过PATINDEX,但错误是函数PAT

我有一个名为filePath的列,它的数据类型是TEXT。如何将文件路径与另一个区分大小写的字符串进行比较

例如:

SELECT * 
FROM source_code_links 
WHERE filePath = 
      "C:\CtrlSpaceData\CtrlSpace VCS\ba4fe9cbcbdb14a7cbc91fdf65f9e98178afe353\src\servlets\Test.java";
我试过,但效果不太好。 我也尝试过PATINDEX,但错误是函数PATINDEX不存在


以下是我尝试过的事情:

SELECT * FROM source_code_links 
WHERE filePath LIKE "%ba4fe9cbcbdb14a7cbc91fdf65f9e98178afe353\src\servlets\Test.java";

SELECT * FROM source_code_links 
WHERE filePath LIKE "C:\CtrlSpaceData\CtrlSpace VCS\ba4fe9cbcbdb14a7cbc91fdf65f9e98178afe353\src\servlets\Test.java";

SELECT *  FROM source_code_links 
WHERE PATINDEX("C:\CtrlSpaceData\CtrlSpace VCS\ba4fe9cbcbdb14a7cbc91fdf65f9e98178afe353\src\servlets\Test.java", filePath) > 0;

是否有其他解决方案可用???

您可以通过使用=运算符来确定它是否等于其他字符串,或者通过使用运算符来确定它是否不等于其他字符串。其他选项可能包括使用您提到的like函数,但是您需要通过某种算法获取其他字符串的某些部分,然后在删除字符的位置附加%符号。

您需要使用单引号而不是双引号。

这是用于SQL Server还是。。。?什么版本?你能用LIKE和你尝试过的其他任何东西发布整个尝试吗?你想在filepath和其他字符串之间做什么比较?你想忽略这个案例吗?是否要查看其他字符串是否在指定的文件路径内?是否要查看另一个字符串是否为filepath末尾的指定文件名?是否要测试指定的文件路径是否与其他字符串中的文件路径搜索模式匹配,如果匹配,则要使用哪些操作系统的通配符?是否希望能够使用不同的子文件夹分隔符,例如/而不是“`”?等等?这些是我尝试过的东西:从源代码链接中选择*文件路径,如%ba4fe9cbcbdb14a7cbc91fdf65f9e98178afe353\src\servlets\Test.java;从源代码链接中选择*C:\CtrlSpaceData\CtrlSpace VCS\ba4fe9cbcbdb14a7cbc91fdf65f9e98178afe353\src\servlets\Test.java;从PATINDEXC:\CtrlSpaceData\CtrlSpace VCS\ba4fe9cbcbdb14a7cbc91fdf65f9e98178afe353\src\servlets\Test.java的源代码链接中选择*,文件路径>0;CASTfilePath作为VARCHARMAX