Actualmente estoy usando postgres, accediendo a él a través de un servidor de nodos.
Me siento atascado en cómo buscaría un término específico dentro de una tabla para hacer un cambio. Sé que puedo SELECCIONAR ciertos elementos, pero no sé cómo buscar dentro de los elementos.
digamos que mi tabla es:
| animal | mimoso | aterrador |
|---|---|---|
| Perro mediano | sí | no |
| Perro pequeño | sí | no |
| perro esponjoso | sí | no |
| Perro grande | sí | sí |
| Gato grande | no | sí |
| Pez pequeño | no | no |
De repente, me mordió un perro, y ahora quiero cambiar todo lo que contenga 'perro|Perro' a miedo: sí.
Realmente no puedo encontrar buenos recursos para crear la función. Tal vez he pasado por alto algo.
En este momento estoy usando SELECT simples como este:
app.get('/update/:type', (req, res) => { pool.query("SELECT animal FROM petlist WHERE scary = 'no' AND animal = $1",[req.params.client], (error, results) => { if (error) { console.log("I selected dog, but I can't see the specific types of dog!") throw error } console.log(results.rows); res.status(200).json(results.rows) }) });No conozco su lenguaje de oscurecimiento (nodejs), pero el predicado de Postgres que está buscando sería ilike o conversión de mayúsculas y minúsculas de la columna animal . Asi que
select animal from petlist where scary = 'no' and animal ilike '%dog'; -- or if nodejs complains about ilike then select animal from petlist where scary = 'no' and lower(animal) like '%dog';así que tal vez algo como:
app.get('/update/:type', (req, res) => { pool.query("SELECT animal FROM petlist WHERE scary = 'no' AND animal ILIKE $1,[req.params.client], (error, results) => { if (error) { console.log("I selected dog, but I can't see the specific types of dog!") throw error } console.log(results.rows); res.status(200).json(results.rows) }) });con req.params.client se establece en la cadena %dog .