Foros del Web » Programando para Internet » ASP Clásico »

Contar registros y Mid

Estas en el tema de Contar registros y Mid en el foro de ASP Clásico en Foros del Web. Hola. Quiero contar los registros de una tabla donde el campo "Categoria" comience por "Granada" Para ello escribo: Código: ....conexion... strSQL= "SELECT Count(*) As nreg ...
  #1 (permalink)  
Antiguo 27/03/2003, 13:15
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 23 años, 2 meses
Puntos: 2
Contar registros y Mid

Hola. Quiero contar los registros de una tabla donde el campo "Categoria" comience por "Granada"

Para ello escribo:

Código:
....conexion...
strSQL= "SELECT Count(*) As nreg from tabla where Categoria = 'Mid(Granada,1,7)' "
RS.Open strSQL, strCon, 3
nreg= RS("nreg")
RS.Close

....

Response.write nreg
¡Pero algo hago mal porque el nreg siempre es igual a 0!
¿Qué hago mal?
  #2 (permalink)  
Antiguo 27/03/2003, 13:19
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
no prefieres usar la clausula LIKE?
  #3 (permalink)  
Antiguo 27/03/2003, 13:35
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 23 años, 2 meses
Puntos: 2
con LIKE o con = siempre me da 0.

De todas formas yo pensaba que LIKE es lo mismo que =
  #4 (permalink)  
Antiguo 27/03/2003, 17:03
Avatar de Juansan  
Fecha de Ingreso: abril-2001
Mensajes: 203
Antigüedad: 24 años
Puntos: 0
....conexion...
strSQL= "SELECT Count(*) As nreg from tabla where Categoria Like 'Granada%'
RS.Open strSQL, strCon, 3
nreg= RS("nreg")
RS.Close

....

Response.write nreg
Si mal no recuerdo esto busca de izquierda a derecha, para hacerlo al reves, pone el % a la izq despues del ', si pones los dos %, uno a la izq y oreo a la der, buscara la cadena en cualquier parte de la misma.

Saludos
  #5 (permalink)  
Antiguo 27/03/2003, 18:41
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 23 años, 2 meses
Puntos: 2
Pues efectivamente, funciona muy bien.

Gracias JuanSan!

De todas formas me quedo con la mosca tras la oreja: ¿Por qué no funciona con Mid() ?
  #6 (permalink)  
Antiguo 27/03/2003, 20:37
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
De todas formas me quedo con la mosca tras la oreja: ¿Por qué no funciona con Mid() ?
Bueno, yo creo que es porque Mid() es una función de VBScript y vos lo estás utilizando como un literal dentro del criterio de búsqueda. En otras palabras, le estás pidiendo que "cuente todos los registros de la tabla en donde el campo Categoría coincida LITERALMENTE con el texto MID(GRANADA,1,7)"

Igual no le intentes buscar la quinta pata al gato. Lo que te dijo JuanSan es correcto y es la mejor forma para hacerlo

Última edición por AlZuwaga; 27/03/2003 a las 20:41
  #7 (permalink)  
Antiguo 28/03/2003, 10:59
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 23 años, 2 meses
Puntos: 2
Ok, gracias dazuaga.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:37.