Hola a todos
Me gustaría saber si se puede usar en una búsqueda SQL SELECT * FROM XXX WHERE Substr(campo,1,3) = Expresion ORDER BY (campo de orden)
y como ponerlo en la sentencía
Gracias
Se puede hacer esto ?
Se puede hacer esto ?
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Re: Se puede hacer esto ?
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
Fernando González Diez
ALSIS GHE Sistemas Informáticos
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
Re: Se puede hacer esto ?
Pedro,
usar una funcion en el where probablemente suprima las optimizaciones que suele hacer un SQL. En MySQL puede usar un SELECT * FROM XXX WHERE campo LIKE "ABC%", que es mucho más rápido porque sabe como optimizarlo. Si usas otro motor habrá que ver si soporta el LIKE.
Un saludo
usar una funcion en el where probablemente suprima las optimizaciones que suele hacer un SQL. En MySQL puede usar un SELECT * FROM XXX WHERE campo LIKE "ABC%", que es mucho más rápido porque sabe como optimizarlo. Si usas otro motor habrá que ver si soporta el LIKE.
Un saludo
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Re: Se puede hacer esto ?
Gracias por la respuesta Fernando, pero no me hace el recordset usando SUBSTRING.
Carlos estoy usando ADO con un ACCESS y el tema es que el campo por el que quiero sacar los datos tiene un ancho de 8 caracteres, pero solo quiero pillar los 3 primeros y que me saque todos los registros, cuyos 3 primeros digitos de ese campo sean iguales a los solicitados por el usuario, y creo que puede soportar LIKE perfectamente
Carlos estoy usando ADO con un ACCESS y el tema es que el campo por el que quiero sacar los datos tiene un ancho de 8 caracteres, pero solo quiero pillar los 3 primeros y que me saque todos los registros, cuyos 3 primeros digitos de ese campo sean iguales a los solicitados por el usuario, y creo que puede soportar LIKE perfectamente
Last edited by Pedro on Tue May 31, 2016 3:42 pm, edited 1 time in total.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
Re: Se puede hacer esto ?
Pedro,
prueba asi,
SELECT * FROM tu_tabla WHERE tu_campo LIKE "%PAQ"
aqui te va a regresar en la consulta todos los registros que en tu campo empiecen con PAQ
Saludos
Paco
prueba asi,
SELECT * FROM tu_tabla WHERE tu_campo LIKE "%PAQ"
aqui te va a regresar en la consulta todos los registros que en tu campo empiecen con PAQ
Saludos
Paco
____________________
Paco
Paco
Re: Se puede hacer esto ?
Gracias Francisco, lo conseguí con LIKE y me regresa bien los registros cuyos tres primeros dígitos sean iguales a los pedidos por el usuario.
Ahora tengo otra duda, como hacer una comparación de un campo lógico, es decir traer todos aquellos registros cuyo campo X sea Verdadero , o Falso según se pida.
Lo he intentado comparando el campo con Cero y Uno, pero no me trae registros
Un saludo a todos
Ahora tengo otra duda, como hacer una comparación de un campo lógico, es decir traer todos aquellos registros cuyo campo X sea Verdadero , o Falso según se pida.
Lo he intentado comparando el campo con Cero y Uno, pero no me trae registros
Un saludo a todos
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Re: Se puede hacer esto ?
Pedro
Así
Saludos,
Adhemar
Así
Code: Select all
WHERE !CampoLógico // para .F. También se puede poner NOT CampoLógico
WHERE CampoLógico // para .T.
Adhemar
Saludos,
Adhemar C.
Adhemar C.
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
Re: Se puede hacer esto ?
Pedro,
como dice ademar o asi:
Saludos
como dice ademar o asi:
Code: Select all
WHERE tu_campologico = '0'
WHERE tu_campologico = '1'
WHERE tu_campologico is not null
WHERE tu_campologico is null
____________________
Paco
Paco
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
Re: Se puede hacer esto ?
Pedro,
un saludo
Si pones la consulta que estás haciendo seguro que vamos a corregir lo que pudiera estar mal, es mucho más sencillo trabajar sobre algo, sino solo podemos hacer especulaciones.Pedro wrote:... como hacer una comparación de un campo lógico, es decir traer todos aquellos registros cuyo campo X sea Verdadero , o Falso según se pida.
Lo he intentado comparando el campo con Cero y Uno, pero no me trae registros
un saludo
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"