я написал ниже запрос на основе помощи, предоставленной в этой ссылке, querying binary column using like in sql serverColdFusion: cfqueryparam для двоичных значений
SELECT * FROM myTable
WHERE TestData >= 0x00010000
AND TestData < 0x00020000;
Он возвратил ожидаемые результаты. Я использовал cfqueryparam
и обновленный запрос как:
SELECT * FROM myTable
WHERE TestData >= <cfqueryparam value="0x00010000" cfsqltype="cf_sql_binary">
AND TestData < <cfqueryparam value="0x00020000" cfsqltype="cf_sql_binary">;
, но он вернулся с ошибками, появляется сообщение об ошибке: Invalid data 0x00010000 for CFSQLTYPE CF_SQL_BINARY.
Я попытался с cfsqltype="CF_SQL_BLOB"
, но никаких результатов. Как исправить эту проблему? Заранее спасибо
Вероятно, ошибка связана с тем, что вы передаете строку, а не двоичную. Попробуйте '#BinaryDecode ('00010000', 'Hex') #'? –
Кроме того, вам может не понадобиться использовать cfqueryparams здесь - если значения статические (не динамически предоставленные третьей стороной), и у вас нет нескольких запросов с изменением значений (то есть SQL идентичны, за исключением двоичных значений) то, вероятно, нет никакой пользы в этом. –
Спасибо, что он работает. вы правы, для статических значений нет никакой пользы. Но все же наш клиент хочет эту функцию. Еще раз спасибо. – RajVish