Как выполнить замену данных Varbinary в SQL

Мне никогда не приходилось делать это раньше, но я хочу заменить SQL на данные varbinary. Я пытаюсь это сделать, но он не заменяет успешно, я думаю, потому что он обрабатывает данные как varchar, а затем возвращает обратно в varbinary. Это произошло из-за пробелов в конце этих значений, но не являются фактическими «пробелами», поэтому RTRIM не работает в этом сценарии (выделено жирным шрифтом ниже).

Пример данных, пытающихся изменить:

0x457874656368203430304120414320636C616D70206D657465722C2041432063757272656E74206D6F64656C20746F206D65657420796F7572206170706C69636174696F6E206E656564732E20203230303020636F756E74204C434420646973706C61792E20204869676820616363757261637920666F722063757272656E74206D6561737572656D656E74732E2020302E3922202832336D6D29206A61772073697A65206163636F6D6D6F646174657320636F6E647563746F727320757020746F203330304D434D2E2020436F6E74696E756974792062656570657220616E642064696F646520746573742E20204461746120686F6C6420616E64206D617820686F6C642E20204F7665726C6F61642070726F74656374696F6E20666F7220616C6C2072616E6765732E20204F76657272616E676520616E64206C6F77206261747465727920696E64696361746F72732E20204175746F72616E67696E672077697468206175746F20706F776572206F66662E0D0A090909090909090909090D0A090909090909090909090D0A090909090909090909090D0A09090909090909090909

Сценарий:

update digitalassetcontent 
set content = (CAST(REPLACE(content, '0D0A09090909090909090909', '') as varbinary(MAX)))

person Matt Weick    schedule 30.06.2014    source источник
comment
Попробуйте SELECT REPLACE(Content, 0x304430413039303930393039303930393039303930393039304430413039 , 0x) FROM digitalassetcontent Дает ли это вам результат, который вы ищете?   -  person TMNT2014    schedule 30.06.2014
comment
Да, я забыл 0x. Не знаю, зачем это нужно, и хотелось бы понять. Спасибо за совет!   -  person Matt Weick    schedule 30.06.2014


Ответы (1)


person    schedule
comment
Спасибо, что показали мне логику этого. В любом случае, вы могли бы объяснить, зачем нужен 0x? Шестнадцатеричная штука? - person Matt Weick; 30.06.2014
comment
0x — это представление двоичной строки нулевой длины, точно так же, как '' используется для обозначения строки символов нулевой длины. - person Anon; 30.06.2014
comment
Спасибо за помощь @Анон! - person Matt Weick; 30.06.2014