Я пытаюсь написать запрос в SQL В любом месте, которое использует функцию CONTAINS и ищет буквальную звездочку. Я использовал все escape-последовательности, которые мог найти, и ни одна из них не работает, все возвращают, что звездочка - это только поиск по префиксу, поэтому, похоже, она не интерпретирует ее буквально. Я пробовал
SELECT * FROM TransactionJournalDetail CONTAINS( TransactionJournalDetail.TLI_ReceiptAlias, '\*');
SELECT * FROM TransactionJournalDetail CONTAINS( TransactionJournalDetail.TLI_ReceiptAlias, '\\*');
-и-
SELECT * FROM TransactionJournalDetail CONTAINS( TransactionJournalDetail.TLI_ReceiptAlias, '\x2A');
-и-
SELECT * FROM TransactionJournalDetail CONTAINS( TransactionJournalDetail.TLI_ReceiptAlias, '[*]');
, который, как я думал, будет работать в соответствии с документацией Я мог бы использовать шестнадцатеричное значение, но оно не сработало. Любые идеи о том, как это сделать на SQL Anywhere, были бы великолепны.
Я знаю, что могу использовать:
SELECT * FROM TransactionJournalDetail WHERE TransactionJournalDetail.TLI_ReceiptAlias LIKE '%*%';
, однако я бы предпочел использовать оптимизированные СОДЕРЖИТ.
Спасибо!