Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

104
Views
Escape solo algunos caracteres en la cláusula where

Quiero buscar registros que tengan algún campo de cadena que comience con un prefijo dado y termine en cualquier carácter. Básicamente:

 Model.where('field LIKE ?', "#{prefix}_").count

El problema es que el propio prefijo puede contener caracteres especiales (como % o _ ).

¿Hay alguna manera de escapar del prefijo, pero no del final _ sin hacer rodar mi propio desinfectante con un montón de #gsub s?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No hay mejor solución que reemplazar todo _ con \_ y todo % con \% para escapar de su significado especial.

over 4 years ago · Santiago Trujillo Report

0

Model.where("field LIKE ?||'_'", escapeDataFunction("#{prefix}")).count

La idea es escapar de lo que debe escaparse y codificar la otra parte en la condición "dónde". También tenga en cuenta que cuando se utilizan variables de sustitución (? o :1), no es necesario escapar los datos en general, pero las expresiones "me gusta" son una excepción, y en ese caso, debe escapar los caracteres especiales con significado en el como operador.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!