como consulto registros por cantidad de caracteres ?

10/02/2006 - 15:55 por J Lara | Informe spam
Necesito efectuar una consulta a un campo numerico que
comunmente e el codigo de un producto,pero en ocasiones
por error se capturan con digitos de mas, osea, deben
usarse 4 digitos y en ocasiones por error los capturan de
5 digitos.

Select C1,.C2 From T1

Como extraigo solo regtistros con x caracteres en C1 ??

Gracias por su apoyo.

Saludos.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
10/02/2006 - 16:04 | Informe spam
Trata usando las funciones de cadena left, substring y len.

select left(c1, 4), count(*)
from t1
group by left(c1, 4)
go

select c1, count(*)
from t1
where len(c1) = 4
group by c1
go

etc.


AMB

"J Lara" wrote:

Necesito efectuar una consulta a un campo numerico que
comunmente e el codigo de un producto,pero en ocasiones
por error se capturan con digitos de mas, osea, deben
usarse 4 digitos y en ocasiones por error los capturan de
5 digitos.

Select C1,.C2 From T1

Como extraigo solo regtistros con x caracteres en C1 ??

Gracias por su apoyo.

Saludos.
Respuesta Responder a este mensaje
#2 c
10/02/2006 - 17:30 | Informe spam
Pero segun lo que veo es error de la capa de negocios de tu aplicacion,
porque no deberia permitir el codigo de de mas de 5 digitos.

Asi mismo, encuentro que habria error enla capa de datos ya que el codigo
que se le asigna al producto deberia ser char, ya que tu no sumas los codigos
y ni haces operaciones matematicas con ellos, lo que tendrias que tener en
cuenta entonces es la validacion que solo reciba numero y ningun caracter
diferente a los correspondientes a los numericos
Gracias

Carlos Andrés Lozano
Solution Development
Nativa Tecnologías



"J Lara" escribió:

Necesito efectuar una consulta a un campo numerico que
comunmente e el codigo de un producto,pero en ocasiones
por error se capturan con digitos de mas, osea, deben
usarse 4 digitos y en ocasiones por error los capturan de
5 digitos.

Select C1,.C2 From T1

Como extraigo solo regtistros con x caracteres en C1 ??

Gracias por su apoyo.

Saludos.
Respuesta Responder a este mensaje
#3 c
10/02/2006 - 17:38 | Informe spam
Deberias realizar un cast del campo de la siguiente forma

SELECT *
FROM T1
WHERE LEN (CAST (C1 AS Varchar(10))) = 4

Hay tendrias la cantidad de productos que tienen un codigo de 4 digitos

Ya si usas esta te sale cuantos son los que tienen codigo de 4 digitos

SELECT COUNT (C1)
FROM T1
WHERE LEN (CAST (C1 AS Varchar(10))) = 4
GROUP BY C1

Gracias

Carlos Andrés Lozano
Solution Development
Nativa Tecnologías



"Alejandro Mesa" escribió:

Trata usando las funciones de cadena left, substring y len.

select left(c1, 4), count(*)
from t1
group by left(c1, 4)
go

select c1, count(*)
from t1
where len(c1) = 4
group by c1
go

etc.
Respuesta Responder a este mensaje
#4 Alejandro Mesa
10/02/2006 - 19:21 | Informe spam
,

Deberias realizar un cast del campo de la siguiente forma
WHERE LEN (CAST (C1 AS Varchar(10))) = 4



Gracias por el comentario. Te recomiendo que pruebes la sentencia y veas el
resultado, algo te falto por completar. Quieres hacer un "cast" hacia que
tipo de dato?


AMB



"" wrote:

Deberias realizar un cast del campo de la siguiente forma

SELECT *
FROM T1
WHERE LEN (CAST (C1 AS Varchar(10))) = 4

Hay tendrias la cantidad de productos que tienen un codigo de 4 digitos

Ya si usas esta te sale cuantos son los que tienen codigo de 4 digitos

SELECT COUNT (C1)
FROM T1
WHERE LEN (CAST (C1 AS Varchar(10))) = 4
GROUP BY C1

Gracias

Carlos Andrés Lozano
Solution Development
Nativa Tecnologías



"Alejandro Mesa" escribió:

> Trata usando las funciones de cadena left, substring y len.
>
> select left(c1, 4), count(*)
> from t1
> group by left(c1, 4)
> go
>
> select c1, count(*)
> from t1
> where len(c1) = 4
> group by c1
> go
>
> etc.
Respuesta Responder a este mensaje
#5 c
10/02/2006 - 20:58 | Informe spam
No entiendo a que te refieres con que

"Quieres hacer un "cast" hacia que tipo de dato"???

Porque estoy pasando una variable numerica a TEXTO y lo hace de forma
correcta y asi poder calcular aquellos que solo tienen 4 digitos

P.D. He visto que hay otro mensaje de la persona muy similar a este
Gracias

Carlos Andrés Lozano
Solution Development
Nativa Tecnologías



"Alejandro Mesa" escribió:

,

> Deberias realizar un cast del campo de la siguiente forma
> WHERE LEN (CAST (C1 AS Varchar(10))) = 4

Gracias por el comentario. Te recomiendo que pruebes la sentencia y veas el
resultado, algo te falto por completar. Quieres hacer un "cast" hacia que
tipo de dato?


AMB
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida