Оператор SQL Select с условием двойной кавычки - PullRequest
0 голосов
/ 24 мая 2018

Это мой первый вопрос на этом уважаемом сайте.

У меня очень простое выражение SQL:

SELECT * FROM PRODUCTS WHERE PRODUCT_NAME='14"" Television'

Когда я его запускаю, я получаю это сообщение: Синтаксическая ошибкавозле 'Телевидение' в состоянии полнотекстового поиска '"14" Телевидение "'.

Фактическое значение этого столбца - 14" Телевидение.Но когда я использую Request.Form("Product"), он добавляет еще один "к строке, чтобы он стал (14" "Телевидение)!

Как я могу обойти это? Я пытался заменить двойные кавычки на один, используя этот метод:

 Product = Product.Replace("""",chr(34))

но это не сработало!

РЕДАКТИРОВАТЬ: РЕШЕНО, КАК ЭТО

product = product.replace(""","")

SELECT * FROM PRODUCTS WHERE CONTAINS(PRODUCTS.*,'"14 Television"')

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

В данный момент у меня нет доступа к SQL Server, но если я правильно помню, ваше состояние должно выглядеть следующим образом '14" Television' (я предполагаю, что текст должен быть 14" Television.

При этомсказал, единственное, что я вижу неправильно в запросе, это то, что вы открыли литерал с одинарной кавычкой и закрыли его двойной кавычкой (литералы должны быть заключены в одинарные кавычки с обеих сторон, если я правильно помню).

0 голосов
/ 24 мая 2018

попробуйте

SELECT * FROM PRODUCTS WHERE PRODUCT_NAME=REPLACE( '14"" Television', '""','"')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...