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

时间:2012-03-02 13:55:10

标签: sql text compare equals sql-like

我有一个名为filePath的列,其数据类型为TEXT。如何将filePath与另一个String(区分大小写)进行比较?

示例:

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

我尝试了LIKE,但它也不起作用。 我也尝试了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;

还有其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

你需要使用单引号而不是双引号

答案 1 :(得分:-1)

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