Usuario
Explicación de sintaxis SQL: uso de símbolo &, comillas simples y dobles, %

Pregunta
-
Hola soy principiante en SQL y no entiendo la sintaxis siguiente:
dv.RowFilter = cbocampo.Text & " like '" & txtbuscar.Text & "%'"
Me refiero por ejemplo al significado de cada símbolo ampersand según el lugar que ocupa en el texto, porque txtbuscar.Text esta entre dos símbolos ampersand, que significa % después del ultimo símbolo ampersand y que significado tiene el símbolo % en ese lugar que ademas cuando se omite me da error. Gracias
Todas las respuestas
-
El ampersand no es de SQL, es de VB.net y se utiliza para concatenar textos, igual que el +. El % es un wildcard en SQL Server y quiere decir que lo que se busca puede estar sucedido (y no precedido porque el % está al final) de lo que se ha escrito en la casilla de texto llamada txtbuscar. El % puede preceder el texto a buscar y por lo tanto SQL Server buscará coincidencias que terminen con lo que se ha escrito en la casilla de texto.
Jose R. MCP
My GIT Repositories | Mis Repositorios GIT -
Muchas gracias por su respuesta. Mi duda no es sobre la función que en teoría cumple cada símbolo u operador, sino porque están ubicados de esa manera. Por ejemplo: El símbolo % suele usarse como “a%” (precedido) o “%a” (sucedido) pero en este caso el % se encuentra solo sin entender a que precede o a que sucede. Sobre los ampersand, mi duda es porque txtbuscar.Text esta entre dos símbolos ampersand (¿Qué es lo que esta concatenando cada uno de ellos?). El primer ampersand si lo entiendo pero no la función de los dos siguientes
-
Los ampersand se utiliza para unir cadenas de texto.
Por ejemplo "Una " & "Cadena" se convierte en "Una Cadena".
En el caso que pones
dv.RowFilter = cbocampo.Text & " like '" & txtbuscar.Text & "%'"
va a asignar a dv.RowFilter la cadena resultante de unir el texto seleccionado en el combo con " like " seguido del contenido del textbox txtbuscar seguido de "%". Si pones un punto de interrupción en esa línea lo verás claro.
Al texto a buscar le añade "%" para que busque aquellos valores del campo que comiencen por el texto buscado.
Saludos, Javier J
- Propuesto como respuesta Javier Jiménez lunes, 9 de julio de 2018 6:09
-