Как сравнить текстовый тип данных в SQL - PullRequest
0 голосов
/ 02 марта 2012

У меня есть столбец с именем filePath, его тип данных - TEXT. Как я могу сравнить filePath с другой строкой (с учетом регистра)?

Пример:

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 голосов
/ 29 марта 2015

вам нужно использовать одинарные, а не двойные кавычки

0 голосов
/ 02 марта 2012

Вы можете узнать, равна ли она другой строке, используя оператор =, или она неравна другой строке, используя оператор <>. Другие варианты могут включать использование функции like, которую вы упомянули, но затем вам нужно взять некоторую часть другой строки по некоторому алгоритму и затем добавить символ % на место, где вы удалили символы.

...