아포스트로피를 제거하려고합니다. 전체 절차는 다음과 같습니다.MySQL 저장 프로 시저에서 아포스트로피 제거의 어려움
BEGIN
SET _myparam = replace(_myparam, "'", '');
UPDATE `Table` SET NAME=_myparam WHERE UID=_someotherparam;
END
는 또한 시도 :
SET _myparam = replace(_myparam, '\'', '');
SET _myparam = replace(_myparam, '''', '');
SET _myparam = replace(_myparam, CHAR(39), '');
SET _myparam = replace(_myparam, '%\'%', '');
이 다른 문자가 아닌 아포스트로피와 함께 작동하는 것으로 보인다. 여기에 아포스트로피 특성을 제거하는 것으로 보이는 것은 없습니다. 어떤 도움을 주시면 감사하겠습니다.
내가 생각할 수있는 모든 것을 봤는데 몇 시간 동안 머리카락을 꺼냈다. 감사!
일반적으로 대부분의 RDBMS의 경우 'SET'지정과 함께 'SELECT'문을 사용해야합니다. 일반적으로 변수를 여기에 표시된 함수와 같게 설정할 수는 없습니다. –
@BaconBits 실제로 MySQL에서와 같이 잘 작동합니다. 'DECLARE'을 사용하여 변수를 초기화 할 수 있습니다. SET = blah()' –
wired00
@ wired00 아, 잘 알고 있습니다. 필자는 T-SQL 스타일 (MS SQL, Sybase) 및 PL/SQL 스타일 (Informix, Oracle, Postgres)에 익숙하므로 RDBMS가이 두 스타일 중 하나를 따를 것으로 가정합니다. 그들 중 대부분은 IMX입니다. –