2015-03-06 5 views
1

Я пытаюсь сделать это:побег апостроф в запросе Query

<cfquery name="GetAccountsAndStocks" dbtype="query"> 
    Select STOCK, CUST_NUMBER 
     From GetExtractionData 
    WHERE CUST_NUMBER NOT LIKE '\'' 
</cfquery> 

cust_number либо ' (для заготовки) или ' с последующей строкой 10 символов.

Я думал, что должен избегать ', но это не сработает. Как я могу это сделать?

+0

(Изменить) Вы можете уточнить? Что значит «не повезло»? Каков был результат и как он отличался от того, что вы ожидали? Кроме того, когда вы говорите «пустое», вы имеете в виду, что это значение является пустой строкой, то есть «», или что буквально содержит символ '' '? Синтаксис стороны может отличаться от поставщика, поэтому всегда ваши dbms с любыми вопросами sql. – Leigh

+0

Это запрос запросов о холодном состоянии; Я не думал включать это, потому что я отметил его (и тег является синтаксисом для него) –

+0

Нет, это мое плохое. Я видел только общий тег «sql», а не «qoq». Я упустил dbtype = "query". Недостаточно кофе ;-) – Leigh

ответ

2

Чтобы избежать апостроф, используйте '' (две одиночные кавычки), например .:

WHERE cust_number NOT LIKE '''' 

Однако, я не слишком хорошо знакомы с использованием NOT LIKE в запросе запросов; обычно можно было бы использовать подстановочные знаки (например, %):

WHERE cust_number NOT LIKE '%''%' 

В вашем случае вы говорите cust_number является апостроф, если он предназначен, чтобы быть пустым. Вы бы не использовать NOT LIKE для этого, но только <>:

WHERE cust_number <> '''' 
1

cfqueryparam решает эту проблему одинаково хорошо с ц ц и базы данных запросов.

+0

Хороший вызов - '' –