sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor skal jeg double-escape (brug 4 \) for at finde en omvendt skråstreg (\ ) i ren SQL?

Du escape først for strengsyntaksen, derefter for LIKE syntaks.

I LIKE tegn % og _ har speciel betydning, så hvis du vil søge efter bogstavelig % , skal du bruge \% , og hvis du vil søge efter bogstavelig \% du skal undslippe omvendt skråstreg som i \\% .

I strengsyntaks " har naturligvis en særlig betydning, så hvis du vil inkludere citat i strengen, skal du undslippe det som \" , og for at inkludere bogstavelig \" i strengen skal du undslippe omvendt skråstreg som i \\" .

Så i begge syntakser skal du undslippe \ .

Hvis du ikke ønsker at bruge \ for at undslippe LIKE-mønsteret kan du bruge søgeordet ESCAPE. For eksempel:

...  where test LIKE "a\\b%" ESCAPE '|';

På denne måde skal du skrive |% , |_ eller || for at undslippe disse specielle tegn.



  1. Heroku-databasegendannelsesproblem

  2. Er der en MySQL-ækvivalent til PHP's preg_replace?

  3. Bedste praksis til at optimere LAMP-websteder for hastighed?

  4. Hvordan installeres libpq-fe.h?