Hola a todos.
![[Imagen: 2ipbxXu.png]](https://i.imgur.com/2ipbxXu.png)
Como algunos de ustedes sabrán, hay motores de bases de datos que soportan las expresiones regulares (REGEXP) en las sentencias SQL.
Esto es muy útil si se desea filtrar registros cuando las capacidad de LIKE se ve superada.
Si por ejemplo se buscan registros que en un determinado campo tengan los "A" o también "Á" con LIKE no se puede hacer pero con REGEXP si.
Ejemplo:
El inconveniente sucede cuando escribimos un texto en una casilla de búsqueda de nuestro programa y queremos que al escribir "A" o "a" aparezcan listados todos los registros que en un campo tal tengan "A", "Á", "a" y "á", en este caso entra esta función llamada SQLike que les comparto aquí, que en base a una cadena de texto que se pasa como parámetro esta devuelve otra pero con todas las posibilidades de las letras con tilde.
![[Imagen: 2ipbxXu.png]](https://i.imgur.com/2ipbxXu.png)
Como algunos de ustedes sabrán, hay motores de bases de datos que soportan las expresiones regulares (REGEXP) en las sentencias SQL.
Esto es muy útil si se desea filtrar registros cuando las capacidad de LIKE se ve superada.
Si por ejemplo se buscan registros que en un determinado campo tengan los "A" o también "Á" con LIKE no se puede hacer pero con REGEXP si.
Ejemplo:
SQL
- SELECT * FROM UnaTabla WHERE UnCampo REGEXP '[AÁ]'
El inconveniente sucede cuando escribimos un texto en una casilla de búsqueda de nuestro programa y queremos que al escribir "A" o "a" aparezcan listados todos los registros que en un campo tal tengan "A", "Á", "a" y "á", en este caso entra esta función llamada SQLike que les comparto aquí, que en base a una cadena de texto que se pasa como parámetro esta devuelve otra pero con todas las posibilidades de las letras con tilde.
GAMBAS
- '' Converts the word into an expression that allows filtering with accents in a like statement.
- '' The supported languages are: Spanish, Portuguese, Italian, French, German and Czech.
-
-
-
- aOut.Clear
-
- aOut.Add("[aáàâãäæ]")
-
- aOut.Add("[eéèêëě]")
-
- aOut.Add("[iíìïî]")
-
- aOut.Add("[oóòôõöœ]")
-
- aOut.Add("[uúùûüů]")
-
- aOut.Add("[cçč]")
-
- aOut.Add("[nñň]")
-
- aOut.Add("[yýÿ]")
-
- aOut.Add("[bß]")
-
- aOut.Add("[zž]")
-
- aOut.Add("[dď]")
-
- aOut.Add("[rř]")
-
- aOut.Add("[sš]")
-
- aOut.Add("[tť]")
-
- aOut.Add(sSymbol)
-
- sOut = aOut.Join("")
- Return sOut
-
1 Saludo.