Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Sentencias SQL repetidas letras (https://www.clubdelphi.com/foros/showthread.php?t=46302)

Frankus 28-07-2007 01:59:46

Sentencias SQL repetidas letras
 
Quiero sacar d una tabla los campos con mas de 5 letras repetidas por ejm si tngo "aaaaalberto" que ese campo se muestre, espero puedan ayudarme.

ContraVeneno 28-07-2007 18:08:45

Bienvenido a los foros

¿Como has tratado de resolverlo? ¿Tienes alguna pista? ¿ de cuanto es el campo?

Revisa este enlace

Frankus 28-07-2007 19:50:19

Detalles del campo
 
El tipo de dato es varchar(60) utilizo el SQL 2005, pues quiero visualizar los campos que se repitan la misma letra mas d 5 veces, nose si en SQL 2005 habran funciones como "char" o "length". Cualquier ayuda es buena.
Gracias

ContraVeneno 28-07-2007 19:55:09

Sí, esas funciones sí existen en SQL Server 2005, presiona F1 en SQL server para consultar la ayuda y ver ejemplos de estas funciones

Frankus 28-07-2007 19:56:45

Pero alguna consulta para ayudar a resolver mi problema... habra??

poliburro 28-07-2007 21:05:30

Sip, :D, en la ayuda de Sql Server 2005, como bien dice el compañero contraveneno, viene la función para hacer búsquedas de texto con ciertas condiciones de búsqueda avanzada.


O puedes hacer una función que analice el texto letra por letra para identificar aquellas que se repiten más de 4 veces. :).

Frankus 28-07-2007 21:15:41

Mas ayuda?
 
Disculpen mi ignorancia pero quisiera saber si es q m pudieran ayudar con esa consulta q dicn d revisar letra por letra y encontrar la q se repite mas d 5 veces. Les agradeceria mucho.
Saludos

ContraVeneno 30-07-2007 16:35:12

Pues tendría que ser un procedimiento, porque no conozco ninguna función que lo haga.

Un procedimiento donde tomas el valor tipo cadena y lo recorreres posición por posición y con un contador vas determinando si la letra anterior a la actual es igual; si es igual vas sumando, si no, regresa el contador a 0.

Cuando el contador llegue a 4 (o las que necesites) guardas ese dato (y lo que necesites) en un cursor.

Al final haces un select * al cursor y tendrás todos los registros donde se cumple la condición.

Inténtalo y si tienes problemas o dudas, aquí te ayudamos

Frankus 30-07-2007 20:47:37

spNoSaben?
 
Este foro no se especializa n SQL como veo, bueno sigan con Delphi.
Cya

ContraVeneno 30-07-2007 22:47:30

A que mi querido Frankus, lástima que tomes esa posición. Pero bueno, si quieres ir a consultar en otro sitio, nadie te impide hacerlo.

No te puedo contestar por los demás, pero si te puedo contestar por mi parte.


Mi intesión era de proponerte la idea y que tu mismo la realizaras, primero por que eres tu el interesado y segundo porque no tengo ganas de hacer un procedimiento almancenado que a mi no me urge realizar.

Sí, sí se como se hace, y creo que por algún lado tengo una función que hacia algo parecido, pero:
  • No veo que estes tratando de hacer algo por ti mismo
  • No tengo tiempo de buscar aquella función
  • No te quiero dar el código porque así no aprenderás nada
Con todo respeto y esperando que comprendas mi postura al respecto, te envio un cordial saludo.

egostar 30-07-2007 22:53:04

Pues mi firma queda como anillo al dedo con lo que dices amigo Contra

Salud OS.

egostar 31-07-2007 00:31:03

Cita:

Empezado por Frankus
Este foro no se especializa n SQL como veo, bueno sigan con Delphi.
Cya

Te aseguro que si pones una oferta económica, te puedes llevar una que otra sorpresa.

Salud OS.

Frankus 31-07-2007 00:56:16

Tan por su pedazo
 
Ofertas? se supone q n ste foro ayudan a hacerlo, veo q muchos postean codigos ya hechos porq lo saben hacer, si es q no sabn no ponen nada como es el caso d algunos de los q m responden.
Si no saben .. shhhh
Cya

roman 31-07-2007 01:04:21

¿En SQL Server se pueden usar expresiones regulares? Porque, por ejemplo, en MySQL (*) podría hacerse algo como:

Código SQL [-]
select * from tabla where campo regexp '(.)\1{4,}'

que encontraría los registros donde campo tiene 5 ó más letras repetidas.

------------------
(*) Bueno, en realidad no se puede. Se podría si MySQL implementara las back references. He leido por ahí que con PostGreSQL sí se puede.


------------------
De cualquier forma, invito al compañero a recapacitar en su actitud. Porque aun suponiendo que nadie aquí puede escribir el SP que lo haga (recalco el suponiendo), pues eso no es motivo para descalificar ni enojarse.

// Saludos

sinalocarlos 01-08-2007 00:29:05

propuesta
 
propuesta

en mi caso me tomo 5 minutos hacer el SP no dudo que los expertos les tome hacerlo en igual o menor tiempo, incluso mas optimizado

pienso que si Frankus se disculpa con el foro tanto yo como los demas podriamos ofrecer sugerencias o en mi caso ofrecer el codigo

Frankus 01-08-2007 01:44:21

Calla mongol!
 
Estas escribiendo wadas brother, no saben y punto OK??
Nos vmos n el infierno :)

roman 01-08-2007 01:53:31

Deja de insultar a la gente. Se te ha hablado con educación, se te ha proporcionado ayuda, se te han dado sugerencias, y tu respuesta es un insulto, que, además, es discriminatorio. ¿Qué piensas que ganas con esa actitud?

// Saludos

ArdiIIa 01-08-2007 02:57:36

Cita:

Empezado por Frankus
Disculpen mi ignorancia

Disculpado

sinalocarlos 01-08-2007 03:25:53

Creo que la gran mayoría de las personas involucradas en este foro tienen un gran espíritu de cooperación y empatia

Como tal, dicho grupo merece un gran respeto que se debe ver reflejado al solicitar la ayuda de forma inteligente, pensando que antes de solicitarla se debe hacer un esfuerzo de nuestra parte, es mucho lo que se puede aprender de esta forma.

En lo personal admiro a las personas que se toman su valioso tiempo para ayudar a los demás, y es lamentable que aparezca un troll, en el mas peyorativo sentido de la palabra, a intentar, al menos así lo deduzco yo, por medio de una técnica de insultos intentar sacar un provecho, técnica que solo refleja su gran falta de madurez

lamentable sin duda

Frankus 01-08-2007 17:26:56

Digan q no sabn y ya!
 
Calla sonso , troll tu family; tan facil es dcir q no sabn, q es hacn roches, yo nose ese codigo, ustedes tampoco, se acabo asi q otro foro dond si sepan m ayudara. FIN
pn. :D


La franja horaria es GMT +2. Ahora son las 09:53:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi