Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Formato texto campo

Estas en el tema de Formato texto campo en el foro de SQL Server en Foros del Web. Hola a todos hoy tengo la pregunta de como puedo acomodar mi consulta es un string desde vb.net @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código vb: Ver original "Select ...
  #1 (permalink)  
Antiguo 11/11/2011, 10:52
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Sonrisa Formato texto campo

Hola a todos hoy tengo la pregunta de como puedo acomodar mi consulta
es un string desde vb.net

Código vb:
Ver original
  1. "Select TBL_CON.CONT_TEL_TELEFONO,TBL_CON.CONT_TEL_TIPO,TBL_CON.CONT_TEL_REGISTRO,TBL_GEN.GEN_DESC" & _
  2.                 " from TBL_MEM_CONTACTO_TEL TBL_CON,TBL_CAT_GENERALES TBL_GEN" & _
  3.                 " where TBL_CON.CONT_TEL_MEMBRESIA='" & membresia_num & "'" & _
  4.                 " and TBL_GEN.GEN_SECCION=700 and TBL_CON.CONT_TEL_TIPO=TBL_GEN.GEN_CLAVE order by CONT_TEL_REGISTRO"

me devuelve 2 columnas una el telefono varchar y otra el tipo de telefono esta ultima sin problemas el telefono me resulta asi 1234567897 y al momento de recogerlo quiero que sea asi (123) 456-7897 espero y se pueda conseguir este resultado
__________________
la programación es tan grande como la imaginación (+.+)
  #2 (permalink)  
Antiguo 11/11/2011, 11:41
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Formato texto campo

Hola rikakashi:

Lo que quieres hacer puedes lograrlo utilizando la función SUBSTRING

http://msdn.microsoft.com/es-es/library/ms187748.aspx

Código SQL:
Ver original
  1. DECLARE @telefono VARCHAR(10)
  2. SET @telefono = '1234567897'
  3. SELECT '(' + SUBSTRING(@telefono, 1, 3) + ')'

Esto te regresaría (123), creo que podrías continuar para obtener el resto de la consulta. El único cuidado que deberás tener es que la cadena tenga el número de caracteres suficientes para poder hacer la extracción.

Saludos
Leo
  #3 (permalink)  
Antiguo 11/11/2011, 16:24
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Formato texto campo

me podrias explicar un poco la manera de hacerlo
__________________
la programación es tan grande como la imaginación (+.+)
  #4 (permalink)  
Antiguo 11/11/2011, 17:28
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Pregunta Respuesta: Formato texto campo


Bien me sale con


Código SQL:
Ver original
  1. SELECT    SUBSTRING(TBL_CON.CONT_TEL_TELEFONO,1,3) AS Telefono,SUBSTRING(TBL_CON.CONT_TEL_TELEFONO,4,3) AS Telefono2,SUBSTRING(TBL_CON.CONT_TEL_TELEFONO,8,3) AS Telefono3 ,TBL_GEN.GEN_DESC
  2. FROM         TBL_MEM_CONTACTO_TEL TBL_CON INNER JOIN
  3.                   TBL_CAT_GENERALES TBL_GEN ON TBL_CON.CONT_TEL_TIPO = TBL_GEN.GEN_CLAVE
  4. WHERE     (TBL_CON.CONT_TEL_MEMBRESIA = 2) AND (TBL_GEN.GEN_SECCION = 700)
  5. ORDER BY TBL_CON.CONT_TEL_REGISTRO

pero ahora me veo en el problema de qu epueden ser mas o menos de 10 digitos
__________________
la programación es tan grande como la imaginación (+.+)
  #5 (permalink)  
Antiguo 14/11/2011, 16:13
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Formato texto campo

Hola de nuevo...

Cita:
pero ahora me veo en el problema de qu epueden ser mas o menos de 10 digitos
es por eso que te comentaba que hay que tener cuidado con la longitud de tu cadena.

Aquí tienes varias opciones, la primera es definir una restricción para que al momento de insertar o modificar un registro te asegures de que la longitud de tu cadena siempre sean de 10 caracteres y que todos sean de tipo numérico (le un poco acerca de TRIGGERS o disparadores)

La otra opción sería que definas una función para hacer estas validaciones,

checa esta liga:

http://www.codeproject.com/KB/databa...ersPart_2.aspx

Ahí verás que aplican un formato diferente para las distintas longitudes de cadena

Saludos
Leo.

Etiquetas: formato, registro, select, campos
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 00:11.